1

由于我将我的项目更新到 Symfony 2.3 php 通知不再抛出异常。

我可以尝试访问数组中未定义的索引,并显示一条通知,但没有抛出异常。

起初我觉得我很困惑,也许这是以前版本的行为。我在 stackoverflow 上发现了一些问题,但建议并非如此。

如何在 symfony2 中处理 PHP 通知

无论如何让 Symfony 2.3 在 symfony2 通知上抛出异常?

4

2 回答 2

2

看一下boot()FrameworkBundle中方法的开头:

public function boot()
{
    ErrorHandler::register(null, false)->throwAt($this->container->getParameter('debug.error_handler.throw_at'), true);
    // ...
}

即使您在其中注册了自己的错误处理程序AppKernel(正如我所做的那样),FrameworkBundle 也会覆盖它。但是您可以使用参数配置 FrameworkBundle 的错误处理程序debug.error_handler.throw_at,如下所示:

# in config.yml, for example
parameters:
    # ALWAYS throw exceptions for notices, warnings, etc.
    debug.error_handler.throw_at: -1

我不知道这在任何地方都有记录。

由于 PHP 的通知和警告通常表明严重的编程错误(d'oh!),我喜欢总是为所有事情抛出异常,即使在生产中也是如此。

于 2016-06-14T18:55:11.343 回答
-2

我找到了答案。这里供大家参考。

https://github.com/symfony/symfony-standard/blob/master/UPGRADE-2.3.md

于 2013-06-19T01:22:28.330 回答