В основном, я видел людей, использующих @
перед их вызовами функций, а не для каждой функции, но для некоторых функций расширения, таких как file_get_contents()
, mysql_connect()
и так далее.
И да, вопрос в том, с какой целью эти @
s до вызова функций?
Или, другими словами, в чем разница между @file_get_contents()
и file_get_contents()
?
@ – оператор управления ошибками . В основном это подавление ошибок.
Это error control operator
PHP, используемый для подавления любой ошибки, вызванной вызовом функции.
@function не показывает никаких сообщений об ошибках на своем выходе HTML, в то время как обычный вызов функции будет.
Символ @
перед функцией предотвращает отображение ошибок при вызове функции.
У меня есть аналогичные сомнения относительно @, используемые перед функциями. Чтобы этого избежать, я сделал некоторую проверку перед вызовом функции. Мой пример:
if ( is_file($filename) ) $timestamp = filemtime( $filename );