PHP-禁用单行警告

PHP-禁用单行警告,php,error-handling,Php,Error Handling,我的论坛中有一个插件,它会抛出一个警告。 我想解决这个问题,但首先,我想向用户隐藏警告消息 我知道我可以在全球范围内改变它,但我只想在某些方面这样做 我该怎么做 $bbcode_parser =& new vB_BbCodeParser($vbulletin, fetch_tag_list()); 给出了错误: Warnung: Assigning the return value of new by reference is deprecated in ..../includes/g

我的论坛中有一个插件,它会抛出一个警告。
我想解决这个问题,但首先,我想向用户隐藏警告消息

我知道我可以在全球范围内改变它,但我只想在某些方面这样做

我该怎么做

$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)

我已经知道我需要使用
@
但是我应该把它放在哪里?

@可以用来抑制警告、通知和错误

致命错误显示在PHP 7中,这会破坏脚本。

@可以在变量、函数、包含调用、常量等之前使用,但不能在函数或类定义、条件、循环等之前使用。
例如,要隐藏未定义的属性错误:

Class Cars{
}
$obj = new Cars();
echo @$obj->idontexist;
关于你的具体问题:

@$bbcode_parser =& new vB_BbCodeParser($vbulletin, fetch_tag_list());
应该修复它。

当提到的不推荐使用的警告消息在PHP5中显示时,PHP7中会显示以下内容,因为它在升级中已不推荐使用

PHP7注意: 分析错误:语法错误,意外的“新建”(T_new)


使用@仅作为绝对的最后手段。使用@as被认为是糟糕的编码,它会减慢速度,而且会给程序员(包括你自己)在将来尝试调试时带来麻烦。这真是令人不快

您应该:

使用使用set_ini的函数仅隐藏该调用的警告


使用php中的“try”来管理错误。

在php中的任何表达式前面,如果有疑问,请检查文档:)-为什么不通过删除
&
而不是简单地隐藏警告来消除“by reference”错误?我想先删除警告。此外,我认为模块有更新,但我希望有时间解决问题。所以现在,我只是想隐藏这个警告。&char在这里做什么?通过删除
&
来解决问题将删除警告;而
&
字符除了为您创建警告之外,什么也不做,因为它不应该出现在最新版本的PHP(即比PHP版本4更高的版本)中。请将此作为答案发布:)谢谢:)