PHP-отключить предупреждение для одной строки
У меня на форуме есть плагин, который выдает предупреждение.
Я хочу устранить проблему, но сначала я хочу скрыть предупреждение для пользователей.
Я знаю, что могу изменить его глобально, но я просто хочу сделать это для некоторых строк.
Как я могу это сделать?
$bbcode_parser =& new vB_BbCodeParser($vbulletin, fetch_tag_list());
Выдает ошибку:
Warnung: Assigning the return value of new by reference is deprecated in ..../includes/garage_func_var.php (Zeile 6411)
Я уже знаю, что мне нужно использовать @, но куда я это положу?
2 ответов:
@ может использоваться для подавления предупреждений, уведомлений и ошибок.
Фатальные ошибки отображаются в PHP 7, который нарушает скрипт.
@ может использоваться перед переменными, функциями, вызовами include, константами и т. д., Но не может предшествовать определениям функций или классов, условным обозначениям, циклам и т. д.
Например, чтобы скрыть ошибку неопределенного свойства:Class Cars{ } $obj = new Cars(); echo @$obj->idontexist;Что касается вашей конкретной проблемы:
@$bbcode_parser =& new vB_BbCodeParser($vbulletin, fetch_tag_list());Следует исправить оно.
В то время как упомянутое устаревшее предупреждающее сообщение отображается в PHP 5, следующее будет отображаться в PHP 7, так как оно было устаревшим в обновлении.
PHP 7 Примечание:
Ошибка синтаксического анализа: синтаксическая ошибка, неожиданный 'new' (T_NEW)
Используйте @ только в крайнем случае. Считается плохим кодированием использовать @ , поскольку это замедляет работу и, кроме того, создает головную боль для программистов (включая вас) в будущем при попытке отладки. Это действительно не одобряется.
Вы должны:
Скрыть предупреждения только для этого вызова с помощью функции, использующей set_ini
Используйте " try " в php для управления ошибками.
Comments