PHP programování
PHP je programovací jazyk a v každém programovacím jazyce vznikají chyby. Některé chyby se projeví ihned, jiné později, na některé bohužel přijdou až uživatelé vašich aplikací.

Chybová hlášení PHP

Jak to vypadá, když v PHP uděláte syntaktickou chybu, jste si jistě již stačili všimnout. Místo očekávaného výstupu se objeví chybové hlášení PHP s anglickým textem a označením místa výskytu chyby (jméno zdrojového souboru a číslo řádku). Také je vidět, že celé hlášení je možné rozdělit na 4 složky:
- typ a vážnost chyby, vytištěno tučně,
- popis chyby,
- zdroj chyby, tj. určení souboru, ve kterém k chybě došlo,
- řádek, na kterém PHP chybu zjistí.

Co jednotlivé složky znamenají? Jistě jste si všimli, že existují chyby s různou závažností. PHP rozlišuje celkem 11 úrovní chyb - jejich seznam najdete v následující tabulce.

Konstanta Hodnota Význam
E_ERROR 1 Fatální chyba za běhu aplikace, po níž nelze pokračovat dále. Zpracování skriptu je okamžitě ukončeno s patřičným chybovým hlášením.
E_WARNING 2 Varování za běhu aplikace, lze pokračovat ve zpracování. Upozorňujeme na chyby, jež měly být zachyceny již dříve, jako je například neplatný formát předaného parametru.
E_PARSE 4 Chyby zpracování - obvykle syntaktické chyby, jako například chybějící středník, ukončovací závorka apod.
E_NOTICE 8 Připomínky vydávané za běhu aplikace (ještě méně závažné než varování). Objevuje se, pokud PHP narazí na něco, co může znamenat výskyt chyby, ale také nemusí - například použití neinicializované proměnné může být překlep.
E_CORE_ERROR 16 Fatální chyby během vlastního startu PHP. Vážností odpovídá chybě E_ERROR.
E_CORE_WARNING 32 Varování během vlastního startu PHP. Vážností odpovídá chybě E_WARNING.
E_COMPILE_ERROR 64 Fatální chyby během kompilace, vyvolávané skriptovacím jádrem Zend.
E_COMPILE_WARNING 128 Varování během kompilace, vyvolávané skriptovacím jádrem Zend.
E_USER_ERROR 256 Chybová zpráva, generovaná uživatelem.
E_USER_WARNING 512 Varování, generované uživatelem.
E_USER_NOTICE 1024 Připomínka, generovaná uživatelem.


Navíc je k dispozici konstanta E_ALL, která v sobě zahrnuje všechny výše uvedené chyby. Používá se pro určení typů chyb, jež budou zobrazovány apod.

Nejčastější chyby a jejich příčiny

Nejčastěji se budete nepochybně setkávat s prvními třemi až čtyřmi chybami. Standardně se totiž chyby E_NOTICE nezobrazují, takže si jich ani nevšimnete. Pokud byste je chtěli zobrazit, je třeba buď v konfiguračním souboru php.ini nastavit direktivu error_reporting na hodnotu obsahující také kontaktnu E_NOTICE, případně lze pro konkrétní skript změnit nastavení pomocí funkce error_reporting(), např. takto:

<?php
error_reporting(E_ALL);
?>


© 2003  e -future Company