Дайте мне хотя бы одну причину, чтобы сделать это
if(isset($_GET['key']) && ($_GET['key'] === '123'))
{...
вместо этого
if(@$_GET['key'] === '123')
{...
Я прошу за это очень специфический код случае, а не вообще!
Эти причины не приветствуются: «использованием @
замедлит применение некоторых наносекунд, поскольку ошибка создается в любом случае (даже если это подавленное)»
- Ну я предпочитаю медленный код но более читаемым.
- «используя
@
это плохая привычка.» Это может быть верно в целом, но я не верю в этом случае (кроме того, возможно, вредные привычки зависит от контекста, на PHP инструкции в функции какfopen
они предложить использовать@
в некотором circumstainces см Ошибки/Исключение в http://www.php.net/manual/en/function.fopen.php)
Так вы думаете, подавление ошибок делает код более читаемым?!? WTF! –
Хотя вы можете это сделать, почему бы просто не определить глобальную функцию GET или что-то еще? –
Восстанавливаемость. Обычная сортировка 'isset' сделает невозможным выяснить, была ли изменена переменная, всегда молча заменяя ее заменяющим значением. Подавление '@' является обратимым. Если вы абсолютно уверены, что вам не нужно отлаживать что-то позже, используйте 'isset'. Используйте '@', если входной параметр может иметь решающее значение/значение безопасности (а затем использовать обработчик ошибок ведения журнала). – mario