我的论坛中有一个插件会发出警告 我想解决问题,但首先,我想隐藏警告消息给用户。
我知道我可以在全球范围内进行更改,但我只想为某些线路进行更改。
我该怎么做?
$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)
我已经知道我需要使用@
但我该把它放在哪里?
答案 0 :(得分:4)
@可用于抑制警告,通知和错误。
致命错误会在PHP 7中显示,从而破坏脚本。
@可以在变量,函数,包含调用,常量等之前使用,但不能在函数或类定义,条件,循环等之前使用。
例如,要隐藏未定义的属性错误:
Class Cars{
}
$obj = new Cars();
echo @$obj->idontexist;
关于你的具体问题:
@$bbcode_parser =& new vB_BbCodeParser($vbulletin, fetch_tag_list());
应该修理它。
虽然在PHP 5中显示了上述不推荐使用的警告消息,但由于在升级过程中不推荐使用,因此将在PHP 7中显示以下内容。
PHP 7注意:
解析错误:语法错误,意外'新' (T_NEW)
答案 1 :(得分:0)
仅将@用作绝对不得已的方法。使用@会被认为是不好的编码,因为@会减慢速度,而且将来在尝试调试时也会给程序员(包括您自己)带来麻烦。这真的让人皱眉。
您应该:
仅使用set_ini函数隐藏该调用的警告
在php中使用“ try”来管理错误。