Asıl soruya cevabı "hayır" ise, hiç kimse bu sözü olan bir seçenek var.
Eğer @ işaretini kullandığınızda, tüm PHP error_reporting
seviyesi geçersiz kılma ve geçici sıfıra ayarlıyor yapıyor. Geri @ kullanılmadan önce ne idiyse bunu ayarlamak için "ini_restore('error_reporting');
" kullanabilirsiniz.
Bu benim kontrol ve değişken ayarlanmış olup olmadığını görmek için bir kolaylık işlevi yazmak istedim durumda benim için yararlı oldu, ve de diğer bazı özellikleri vardı, aksi takdirde, varsayılan bir değer döndürür. Ama, bu yüzden bu bastırmak için kullanılan @, neden bir PHP bildirim yoluyla bir tanımsız değişken göndererek, ancak daha sonra error_reporting
geri işlevin içinde orijinal değerine ayarlayın.
Gibi bir şey:
$var = @foo($bar);
function foo($test_var)
{
ini_restore('error_reporting');
if(is_set($test_var) && strlen($test_var))
{
return $test_var;
}
else
{
return -1;
}
}
$bar
ayarlı değilse ben foo()
çağırdığınızda Yani, yukarıdaki durumda, ben bir varolmayan değişken bir hata almazsınız. Ancak, ben yanlışlıkla is_set
yerine isset
yazdığınız işlev içinde bir hata alırsınız.
Bu yararlı orijinal soru ruhu ne sorduğunu kapsayan bir seçenek değilse, gerçekte olabilir.