Podobne
- Strona startowa
- PHP and MySQL MySQL Bible
- www mediweb pl data print php id=697
- php manual pl (2)
- Corel PHOTO PAINT (6)
- Jonathan Kellerman Bomba zegarowa (Alex Delaware 05)
- Forsyth Frederick Negocjator (SCAN dal 809)
- Harry Eric L Strzec i bronic (2)
- King Stephen Miasteczko Salem (3)
- Alex Joe Pieklo jest we mnie (2)
- Christie Agatha Wczesne sprawy Poirota
- zanotowane.pl
- doc.pisz.pl
- pdf.pisz.pl
- mizuyashi.htw.pl
Cytat
Do celu tam się wysiada. Lec Stanisław Jerzy (pierw. de Tusch-Letz, 1909-1966)
A bogowie grają w kości i nie pytają wcale czy chcesz przyłączyć się do gry (. . . ) Bogowie kpią sobie z twojego poukładanego życia (. . . ) nie przejmują się zbytnio ani naszymi planami na przyszłość ani oczekiwaniami. Gdzieś we wszechświecie rzucają kości i przypadkiem wypada twoja kolej. I odtąd zwyciężyć lub przegrać - to tylko kwestia szczęścia. Borys Pasternak
Idąc po kurzych jajach nie podskakuj. Przysłowie szkockie
I Herkules nie poradzi przeciwko wielu.
Dialog półinteligentów równa się monologowi ćwierćinteligenta. Stanisław Jerzy Lec (pierw. de Tusch - Letz, 1909-1966)
[ Pobierz całość w formacie PDF ]
.Po zainstalowaniu funkcji obsługi, skrypt powoduje dwa błędy.Pierwszy jest generowany przy użyciu funkcji PHP trigger_error().Drugi błąd (ostrzeżenie) jest identyczny jakbłąd pokazany na wydruku 10.3.Na rysunku 10.4.pokazany został wynik działania skryptu.Rysunek 10.4.Działanie funkcjiset_error_handler()PHP Kompendium wiedzy123Używając funkcji set_error_handler() należy pamiętać, że PHP nie przekazuje do funkcji obsługi błędówtypu E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR oraz E_COMPILE_WARNING.Obsługa tegotypu błędów przez użytkownika nie jest bezpieczna.Z tego powodu w kodzie funkcji obsługi błędów z wydruku10.6.pojawiły się komentarze nie powinien wystąpić.Uwaga na temat set_error_handler()Funkcja set_error_handler() jest dostępna w PHP od wersji 4.1.Dodatkowo, funkcja użyta w tym przykładzie posiada pięćparametrów, w tym nazwę skryptu, numer linii i dane kontekstu.Parametry te są dostępne dopiero w wersji 4.2.Wcześniejszewersje miały tylko dwa parametry: typ komunikatu i komunikat.W skrypcie z wydruku 10.6 nie są wykorzystane dane na temat kontekstu.Będą one opisane w następnejczęści rozdziału.Dane te zawierają nazwy i wartości zmiennych istniejących w skrypcie w momencie wystąpieniabłędu.Również funkcja assert() pozwala na zdefiniowanie wywoływanej funkcji.Aby to zrealizować należyskorzystać z funkcji assert_options().Funkcja obsługująca nieudane asercje jest zdefiniowana w następującysposób:function AssertCallback ($NazwaPliku, $NrLinii, $Asercja )Uwaga na temat assert_options()W PHP do wersji 4.2 włącznie, w funkcji assert_options() występował mały błąd.Występował on w przypadku wywołaniafunkcji w postaci assert_options(ASSERT_CALLBACK), w celu odczytania ustawionej funkcji obsługi.Mimo, że w dokumentacjinapisano, że wywołanie takie zwróci jedynie nazwę bieżącej funkcji obsługi, to dodatkowo oprócz zwracania nazwy, bieżąceustawienie funkcji obsługi było czyszczone.Dlatego jeżeli chcesz użyć funkcji assert() z funkcją obsługi upewnij się, że nie jestwywoływana pózniej funkcja assert_options() w celu sprawdzenia nazwy zarejestrowanej funkcji.Błąd ten został zauważony ipoprawiony w wersjach PHP powyżej 4.2.Na wydruku 10.7.pokazany został przykład zdefiniowania i użycia funkcji wywoływanej przez assert().Wydruk 10.7.Wykorzystanie funkcji wywoływanej przez callback()Własna obsługa asercjiNieudana asercja.Kod z wydruku jest podobny do tego z wydruku 10.6.Wywołanie asercji powoduje wyświetleniejednokomórkowej tabeli.Jeżeli nie zostanie opcja ASSERT_WARNING, oprócz informacji zdefiniowanych przezużytkownika wyświetlony zostanie standardowy komunikat PHP.Na rysunku 10.5.pokazany jest wynik działaniaskryptu z wydruku 10.7.Rozdział 10 Uruchamianie124Rysunek 10.5.Użycie funkcjizdefiniowanej dlaassert()PHP posiada elastyczny mechanizm obsługi błędów.Pozwala on dzięki temu pisać kod łatwiejszy douruchamiania i pózniejszego utrzymania.W następnej części połączymy wszystkie przedstawione do tej porytechniki, co w efekcie pozwoli lepiej uruchamiać programy w całym cyklu produkcyjnym.Zaawansowana obsługa błędówPo omówieniu technik obsługi błędów możemy rozpocząć tworzenie ogólnego narzędzia do obsługibłędów.Motywacją do napisania tego fragmentu był brak dostarczanych przez PHP narzędzi, któreautomatycznie łączą różne typy danych o błędach.Oprócz tego, PHP 3 posiadał możliwość zdalnegouruchamiania, która nie została przeniesiona do PHP 4.Pozwalał on przesyłać dane za pomocą protokołu TCP/IPdo innego komputera.Opcja ta prawdopodobnie niedługo się pojawi, ale na razie muszą wystarczyć podstawowetechniki obsługi błędów opisane w tym rozdziale.Przykład przytoczony w tej części jest niezwykle długi, więc zostanie omówiony we fragmentach.Modułten znajduje się w jednym pliku, MyDebug.php i będzie on określony jako moduł MyDebug.Jest on takutworzony, że może być łatwo dołączony do dowolnego skryptu PHP
[ Pobierz całość w formacie PDF ]