Php 在出现弃用警告的情况下,为什么在触发器_错误前面加上at(@)符号?

Php 在出现弃用警告的情况下,为什么在触发器_错误前面加上at(@)符号?,php,error-handling,Php,Error Handling,我看到人们在这里或那里用at标志作为弃用警告的前缀。看起来是这样的: @trigger_error('This method is deprecated', E_USER_DEPRECATED); 同时我们知道,@操作员。因此,这些警告似乎没有起到任何作用 那么,考虑到(,…)的广泛使用,为什么会有人想这样做呢?我为什么要这么做?我是否应该采用相同的方法处理任何反对意见 更重要的是,我在谷歌上找不到任何解释。它似乎有某种联系,但我至今还没有找到一个明确的答案 引用: 可通过以下方式触发弃用通知

我看到人们在这里或那里用at标志作为弃用警告的前缀。看起来是这样的:

@trigger_error('This method is deprecated', E_USER_DEPRECATED);
同时我们知道,
@
操作员。因此,这些警告似乎没有起到任何作用

那么,考虑到(,…)的广泛使用,为什么会有人想这样做呢?我为什么要这么做?我是否应该采用相同的方法处理任何反对意见

更重要的是,我在谷歌上找不到任何解释。它似乎有某种联系,但我至今还没有找到一个明确的答案

引用:

可通过以下方式触发弃用通知:

@trigger_error('Your deprecation message', E_USER_DEPRECATED);
如果没有"沉默"操作员,用户将需要选择退出弃用通知。默认情况下,沉默会交换这种行为,并允许用户在准备好处理这些行为时选择加入(通过添加自定义错误处理程序,如此桥提供的错误处理程序)。如果未禁用,弃用通知将出现在弃用报告的未修订部分中

这归结为:


否则,如果需要,仍然可以从自定义错误处理程序中听到沉默的弃用通知,而不会同时污染通常的日志。

我想它可以确保记录错误,但不一定向用户显示错误。这是我唯一能想到的of@Phil是的,我也是这么想的。但是有一个明确的答案不是更好吗?(注意,正常的非前缀警告也不会显示,只会记录。我说的是一个stock Debian安装。)(在这两个地方问都没有坏处。如果贴在那里,我永远不会遇到这个问题。)我投票结束这个问题,因为这个问题没有真正的问题。这意味着这个问题在这里是离题的,所以。我假设对这个问题的任何回答都是基于观点的。也许一些IDE或质量检查工具会利用
trigger\u error(…,E\u USER\u弃用)
语句来突出这些问题…?我知道PythonIDE肯定会使用等价的代码。
@trigger_error('Your deprecation message', E_USER_DEPRECATED);
set_error_handler(function ($errno, $errstr) {
    var_dump($errstr);
}, E_USER_DEPRECATED);

@trigger_error('Will only be seen from a custom error handler', E_USER_DEPRECATED);