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.