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)


Я уже знаю, что мне нужно использовать @, но куда я это положу?

536   2  

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

    Ничего не найдено.