Witaj, Gościu O nas | Kontakt | Mapa
Wortal Forum PHPEdia.pl Planeta Kubek IRC Przetestuj się!

Phiend: Główny plik konfiguracyjny

Konfiguracja obsługi błędów i komunikatów

Ta sekcja pliku konfiguracyjnego zawiera opcje konfiguracji dla mechanizmu Phiend'a służącego do obsługi błędów i komunikatów.

Nazwa opcji

Rodzaj

Wartość domyślna

error-reporting

string

E_ALL

echo-level

string

E_ALL ^ (E_NOTICE | E_USER_NOTICE)

log-level

string

E_ALL

die-level

string

store-level

string

E_ALL

use-full-path

boolean

false

use-custom-error-codes

boolean

false

Nazwa opcji

Wymaga

Wymagane przez

error-reporting

brak

brak

echo-level

brak

brak

log-level

brak

brak

die-level

brak

brak

store-level

brak

brak

use-full-path

brak

brak

use-custom-error-codes

brak

brak

Elementy tej opcji będą podane, jako argument dla error_reporting(). Krótko mówiąc kontroluje ona, jakie błędy (i inne komunikaty) zostaną wyzwolone przez PHP, a jakie będą pominięte. Phiend zastępuje ogólny program obsługi błędów swoim własnym. Wszystkie błędy i komunikaty, jakie miały być przetworzone, tak naprawdę przechodzą przez jego program. Jeśli ustawisz te opcję tak, żeby pewne komunikaty były ignorowane przez PHP, znajdą się one poza zasięgiem programu obsługi błędów i Phiend nie będzie mógł nic z nimi zrobić. Dobrze jest, jeśli zostawisz tę opcję, jako przyjmowaną domyślnie (E_ALL), co spowoduje, że wszystkie błędy, ostrzeżenia i komunikaty będą przekazywane do programu Phiend'a, który je obsługuje. Warto rozważyć użycie tej opcji tylko wtedy, gdy naprawdę nie przejmujesz się pewnym rodzajem komunikatów i ignorowanie ich przyśpieszy tworzenie twojej strony.

Ta opcja kontroluje to, jakie błędy zostaną zalogowane. Powinieneś wpisać liczbę całkowitą lub kombinację nazwanych stałych, które dostarcza PHP. Błąd jest zalogowany, kiedy wynik jego wartość bitowa jest większa niż 0. Tak więc wartość:

powoduje zalogowanie wszystkich błędów, z wyjątkiem E_NOTICE.

Uwaga

Opcja ta kontroluje, jakie błędy zostaną potwierdzone na ekranie. Wynik jest podobny do tego, jaki dostarczony jest przez standardowy program obsługi błędów PHP. Jednakże, PHP zazwyczaj potwierdza na ekranie wszystkie błędy, które są w zasięgu programu obsługi, podczas gdy ta opcja pozwala ci dokładnie kontrolować , które z nich zostaną pokazane. Możesz na przykład zalogować komunikat o błędzie, ale nie pokazywać go na ekranie.

Składnia tej opcji jest identyczna, jak log-level

Phiend może zapamiętać wszystkie komunikaty o błędach i inne powiadomienia, które zostały wyzwolone podczas pojedynczego żądania. Jest to cenne, jeśli nie chcesz ich mieć wyświetlonych na ekranie natychmiast, ale chcesz je przedstawić użytkownikowi. Na przykład błędy mogą zdarzyć się, zanim napisany zostanie tag html albo zanim wysłane zostaną nagłówki HTTP. Wyświetlanie komunikatu o błędzie w niekorzystnym momencie, może spowodować nieczytelność twojej strony, na przykład blokując style CSS. Dlatego też lepiej jest potwierdzać natychmiast tylko najważniejsze błędy. Jeśli mimo to chcesz je zobaczyć na ekranie, możesz użyć tej opcji, aby przekazać do Phiend'a polecenie aby zapamiętał komunikat o tych błędach, które chcesz i później je wyszukał. Komunikaty takie będą dostępne jako właściwość.

Składnia tej opcji jest identyczna, jak log-level

Ta opcja kontroluje, jakie błędy powinny zapobiec dalszemu przetwarzaniu twojego skryptu. Zazwyczaj wszystkie błędy i ostrzeżenia powodują natychmiastowe zakończenie pracy PHP (po potwierdzeniu komunikatu o błędzie). Ta opcja pozwala ci bardziej szczegółowo kontrolować przebieg tego procesu. Powinieneś jednak uważać podczas zmiany tej opcji. Niektóre błędy (głównie te, zawierające kod E_ERROR) wskazują na poważny problem i silnik PHP spodziewa się zakończenia skryptu. Kontynuowanie go może dać dziwne wyniki.

Składnia tej opcji jest identyczna, jak log-level

Phiend zawiera w każdym komunikacie (tym zalogowanym, potwierdzonym, bądź w tym, o błędzie), nazwę pliku oraz wiersz, w którym pojawił się błąd. Zazwyczaj wynikiem jest tylko nazwa pliku. Dzięki tej opcji możesz sprawić, że Phiend napisze całą ścieżkę pliku, gdzie błąd lub wiadomość została wyzwolona.

PHP wspiera dużą ilość różnych rodzajów błędów a każdy z nich posiada odrębną stałą E_*. Jednak tylko trzy rodzaje błędów (E_USER_*) dostępne są dla skryptu. Kody tych błędów używane są zarówno przez Phiend'a, jak i twoją aplikację. Posiadanie jedynie trzech dostępnych rodzajów błędów, ogranicza twoją zdolność do wykrywania, które błędy są logowane, potwierdzane, itp.

Aby to temu zapobiec, Phiend może użyć małej sztuczki, aby wprowadzić do twojego użytku nowe kody błędów. Nie jest to eleganckie rozwiązanie, ponieważ PHP nie pozwala na określanie nowych rodzajów błędów, Phiend musi go przechytrzyć.

To, co robi ta opcja, to tworzenie trzy nowe kody błędu: E_DOT_ERROR, E_DOT_WARNING oraz E_DOT_NOTICE. Nie są one używane przez Phiend'a, ale mogą być użyte w twojej aplikacji. Aby ich użyć, poprzedź komunikat o błędzie takim znakiem kropki "." ale nie zmieniaj kodu błędu.

Z uruchomioną (włączoną) tą opcją,

trigger_error(".My error message", E_USER_NOTICE);

będzie zinterpretowane tak, jakbyś napisał

trigger_error("My error message", E_DOT_NOTICE);

Uwaga

Nowe kody błędów nie są zawarte w E_ALL. Innymi słowy, jeśli umieścisz

<log-level>E_ALL</log-level>

w swoim pliku konfiguracyjnym, nowe rodzaje błędów nie zostaną zalogowane. Aby, ja tam włączyć musisz napisać:

<log-level>E_ALL | E_DOT_ERROR | E_DOT_WARNING | E_DOT_NOTICE</log-level>

Notatka

Informacje na podobny temat:
Wasze opinie
Wszystkie opinie użytkowników: (0)
Mentax.pl    NQ.pl- serwery z dodatkiem świętego spokoju...   
O nas | Kontakt | Mapa serwisu
Copyright (c) 2003-2022 php.pl    Wszystkie prawa zastrzeżone    Powered by eZ publish Content Management System eZ publish Content Management System