PHP.ee
 php.ee   linuxator.com   whee 
06.09.10 / 20:25
  PHP KKK
Logi sisse:
< nimi
< pass
Unustasid passi?
Kas eelistad võimalusel PHP koodi objektorienteeritult kirjutada?
 Jah, see teeb töö lihtsamaks
 Jah, see on lihtsalt lahe
 Nii ja naa, ei tunne erilist võitu
 Ei, mõttetu ajakulu
 Ei oska objektorienteeritult progeda
Tulemused
Mida teeb @ ?

Küsimus:

Mida teeb @? Olen seda märganud mitmel pool kasutatavat, näiteks, mis vahe on:

PHP kood:


 
include('mina.php');


ja

PHP kood:


 
@include('mina.php');



Vastus:

@ märk on mõeldud programmi töö käigus esinevate veateadete mahasurumiseks.
Näiteks

include('mina.php');

ütleb juhul, kui faili ei õnnestunud inkluudida, midagi sellist:

Warning: Failed opening 'mina.php' for inclusion (include_path='.:/usr/lib/php4') in /www/linuxator.com/htdocs/test.php on line 2

Kui include ette panna aga @ märk, siis veateadete ei kuvata. Küll aga pannakse see muutujasse $php_errormsg, kust programmeerija seda siis kasutada saab. Näiteks iseendale veateate saatmiseks(kasutajat häirimata):

PHP kood:


 
if(!@include('mina.php'))
{
    
mail('mina.olen.sysadmin@myh0st.com''Viga',
"Faili mina.php lisamine ei 6nnestunud!\n\n$php_errormsg");
}



@ erroritapjat võib kasutada nii funktsioonide, muutujate kui ka include() käsu korral. Muutujate juures on ta kasulik sel määral, et kui muutuja ei eksisteeri, siis viga ei anta.

NB! $php_errormsg olemasolu sõltub php konfiguratsioonist(track_errors nimeline option). Kui asi ei tööta, siis telefoneeri oma teenusepakkujale.

O