Какая польза от символа @ в PHP?

Опубликовано: 4 Февраля, 2022

Знак (@) используется в 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: неопределенная переменная: привет.

Примечание . Использование @ - это очень плохая практика программирования, поскольку она не устраняет ошибки, а просто скрывает их и значительно усложняет отладку, поскольку мы не видим, что на самом деле не так с нашим кодом.

Ссылки: Операторы контроля ошибок