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