Какая польза от символа @ в PHP?
Знак (@) используется в PHP как оператор контроля ошибок. Если перед выражением стоит знак @, сообщения об ошибках, которые могут быть сгенерированы этим выражением, будут игнорироваться. Если функция track_errors включена, сообщение об ошибке, генерируемое выражением, будет сохранено в переменной $ php_errormsg . Эта переменная будет перезаписана при каждой ошибке.
Program 1:
<?php // File error $file_name = @file ( "non_existent_file" ) or die ( "Failed in opening the file: error: "$errormsg"" ); // It is used for expression $value = @ $cache [ $key ]; // It will not display notice if the index $key doesn"t exist. ?> |
Ошибка выполнения:
Примечание PHP: неопределенная переменная: errormsg в /home/fe74424b34d1adf15aa38a0746a79bed.php в строке 5
Выход:
Не удалось открыть файл: ошибка: ''
Программа 2:
Он выполнит только оператор 1 и отобразит сообщение с уведомлением.
Примечание PHP: неопределенная переменная: привет.
Примечание . Использование @ - это очень плохая практика программирования, поскольку она не устраняет ошибки, а просто скрывает их и значительно усложняет отладку, поскольку мы не видим, что на самом деле не так с нашим кодом.
Ссылки: Операторы контроля ошибок