В чем разница между вызовами функций «mail ()» и «@mail ()»? - PullRequest
11 голосов
/ 16 сентября 2010

Я пишу почтовую функцию PHP, и в некоторых примерах @mail(…), а в других просто mail(…).

Какая разница и какую лучше использовать?

Cheers

Ответы [ 4 ]

19 голосов
/ 16 сентября 2010

@ подавляет все предупреждения / ошибки, которые может выдать mail() функция.

Не рекомендуется использовать «@», потому что вы никогда не знаете, что-то не работает, а также влияет на производительность вашего приложения PHP!

4 голосов
/ 16 сентября 2010

Это та же функция, но с подавлением ошибок

PHP: операторы контроля ошибок - руководство

3 голосов
/ 16 сентября 2010

@mail означает, что вы подавляете любые ошибки, которые могут возникнуть при попытке отправить электронное письмо, см. Этот вопрос SO для получения дополнительной информации: Подавление ошибки с помощью оператора @ в PHP

2 голосов
/ 16 сентября 2010

Подавление ошибок является ресурсоемкой операцией. Рекомендуется вызывать функции без @ и использовать исключения / обработку ошибок

...