<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE html PUBLIC '-//W3C/DTD XHTML+Voice 1.2 /EN' 'http://www.voicexml.org/specs/multimodal/x+v/12/dtd/xhtml+voice12.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml' xmlns:ev='http://www.w3.org/2001/xml-events'>
<head>
<link rel='canonical' href='http://pabi3.com/blog/php-chybove-hlasenia/' />
<link rel='stylesheet' href='http://pabi3.com/modules/items/voice.css' type='text/css' media='all' />
<form xmlns='http://www.w3.org/2001/vxml' id='title'>
<block>
The article PHP - Chybove hlasenia is written by PaBi3
</block>
</form>
<form xmlns='http://www.w3.org/2001/vxml' id='body'>
<block>
Chybove hlasenia v PHP. Ako sa im ciastocne vyhnut? Ako ich zaznamenavat? Vsetko budeme robit pomocou dvoch jednoduchych funkcii.</block>
</form>
<form xmlns='http://www.w3.org/2001/vxml' id='full'>
<block>
Error_Reporting()
Casto sa stava, ze navstevnik si chce prezriet vase stranky a narazi na nejaku
chybu - myslim chybu skriptu alebo jeho chyboveho spracovania. Estetika stranky
straca svoju hodnotu a tym padom klesa aj jej kvalita. Tymto chybam sa da
predchadzat. Na deaktivovanie zobrazovania chyb nam bude postacovat
funkcia  error_reporting(). Upozornujem, ze najlepsie je chyby vypinat
len pri vacsich aplikaciach ako je napr. diskusne forum alebo redakcny system.
Tam sa take nieco naozaj  hodi. Funkcia ma aj svoje predurcene parametre. Vkladat sa
do nej mozu parametre s nasledujucej tabulky.


1
E_ERROR
Kriticke chybe, po ktorych sa skript zastavi.


2
E_WARNING
Varovania, po ktorych skript pokracuje v cinnosti.


4
E_PARSE
Chyby spracovania skriptu - syntax.


8
E_NOTICE
Ozamenia o udalostiach s skripte


256
E_USER_ERROR
Generovane chyby pomocou trigger_error()


512
E_USER_WARNING
Generovane varovania pomocou trigger_error()


1024
E_USER_NOTICE
Generovane oznamenia pomocou trigger_error()


2047
E_ALL
Skript bude zobrazovat vsetky chyby - vyssie uvedene.


To co ste videli ako posledne E_ALL odporucam pouzivat iba pri
vyvoji webovych aplikacii. Avsak pre vypnutie chybovych hlaseni vam postaci
funkciu zapisat ako error_reporting(0). Vsetky chybove hlasenia budu
nastavat v pozadi stranky resp. budu prebiehat ale o nich nebudete vediet.
V sucasnosti PHP ohlasuje vsetky chyby, takze je implicitne nastavena na E_ALL
samozrejme okrem E_NOTICE. Cize su ohlasovane vsetky chyby okrem oznameni. Oznamenia niekedy nemusia predstavovat ziadny problem pre pracu skriptu a preto by iba zavadzali.Error_Log()
Tato funkcia je vlastne pokracovanim funkcie error_reporting() s tym
rozdielom, ze tato funkcia ohlasuje chyby tam kam vy sami urcite. Parametre funkcie
su nasledovne:


0
Chyba bude ulozena podla nastavenej metody na OS.


1
Sprava o chybe sa odosle ne emailovu adresu.


2
Tato sprava sa odosiela ladiacemu programu. Tato moznost uz neplati
od verzie PHP3.


3
Sprava sa bude ukladat do suboru.


Posledna moznost je v dnesnej dobe zahrnuta v sluzbach takmer kazdeho hostingu.
A ak nie mozete si to predsa urobit sami. Navod najdete prave tu. Predpokladajme, ze
vo webovej aplikacii chceme zobrazovaniu  chyb predchadzat a tak nastavime
funkciu na hlasenie chyb na error_reporting(0). Teraz mame zabezpecene
vypnutie vsetkych chyb. Hned pod tuto funkciu umiestnime nasu funkciu a zvolime
si protokolovanie chyb do suboru. Cize typ 3.

&lt;?php

$error = &quot;V skripte &quot;.__FILE__.&quot; na riadku &quot;.__LINE__.&quot; sa vyskytla chyba!n&quot;;

error_log($error,3,"error.txt");

?&gt;

Po tomto zakroku chyby nebudu zobrazovane ale ukladane do suboru error.txt. Poslednemu parametru funkcie mozete
zadavat aj absolutnu cestu a pod. Konstanta __FILE__ sluzi na odoslanie mena
suboru a konstanta __LINE__ na ocislovanie riadku kde nastala chyba.

To je asi vsetko o hlaseni chyb :-).</block>
</form>
<base href='http://pabi3.com/' />
<title>PHP - Chybové hlásenia</title>
</head>
<body ev:event='load' ev:handler='#title'>
<a href='http://pabi3.com/blog/php-chybove-hlasenia/' title='Návrat'>Návrat</a>
<h1 style='padding:0.5em;'>PHP - Chybové hlásenia</h1>
<ul>
<li ev:event='click' ev:handler='#body'>Speak introduction</li>
<li ev:event='click' ev:handler='#full'>Speak full</li>
</ul>
</body>
</html>

