Это зависит от того, что вы пытаетесь сделать. Например, если вы выполняете var_dump () или другую отладку и знаете, что иногда ваше значение не будет установлено, я бы сказал, что в этой ситуации это нормально.
var_dump(@$_REQUEST['sometimesIamSet']);
Если вы используете его в этом случае:
if(@$_REQUEST['something']){
// do something
}
else{
// do something else
}
Я бы настоятельно советовал против этого. Вы должны написать свой код, чтобы явно делать то, что вы хотите.
if(isset($_REQUEST['something'])){
// Hurray I know exactly what is going on!
}
else{
// Not set!
}
Единственный экземпляр в производстве, о котором я могу подумать, это @, когда вы хотите выдать свою собственную ошибку. Например
$database_connection = @db_connect_function();
if($database_connection === false){
throw new Exception("DB connection could not be made");
}
Кроме того, посмотрите на ответ PaulPRO. Если то, что он говорит, действительно верно, ваши файлы журнала также могут содержать предупреждения, о которых вы не знаете. Это приведет к тому, что ваши файлы журналов станут менее полезными во время отладки после выпуска.