neden @ önce fonksiyonları

2 Cevap

Ne bir işlev yapmadan önce @ ekleme yapar? Bazı komut bu gördüm

Örnek:

$connect = @mysql_connect('localhost', 'root', 'password');
 instead of
$connect = mysql_connect('localhost', 'root', 'password');

2 Cevap

Bu işlev içinde meydana gelebilecek hataları bastırır. Documentation here.

Her şeyi kabul, bu bazı sinsi hatalar yol açabilir olarak tavsiye edilmez.

Bu php belgelere, Error Control Operator olduğunu:

PHP bir hata kontrol operatörü destekler: işareti (@). PHP bir ifadeye önüne geldiğinde, any error messages that might be generated by that expression will be ignored.

Eğer bir özel hata işleyicisi işlevini kurduysanız set_error_handler() o hala denilen alacak, ancak bu özel hata işleyicisi can (ve olmalıdır) çağrı error_reporting() hangi 0 zaman çağrı olduğunu dönecektir hata, bir @ ile başlar tetikledi.

Track_errors etkinleştirildiğinde özelliği ise, ifadesi tarafından üretilen herhangi bir hata mesajı değişkene kaydedilir $php_errormsg. Bu değişken her hata üzerine yazılmaz, bu yüzden bunu kullanmak istiyorsanız erken kontrol edilecektir.