symfony - 如何在Symfony2中隐藏E_USER_NOTICE错误

标签 symfony error-handling

我在Symfony2项目中触发了如下错误:

trigger_error('message', E_USER_NOTICE);

如何抑制该错误,以致我没有得到代码500的响应,而只得到此通知与monolog记录在一起?

谢谢

最佳答案

建议不要使用trigger_error来触发Symfony2中的错误。在Symfony2中触发错误的推荐方法是使用exceptions。在Symfony2中,您可以使用全局异常,由Symfony2框架创建的异常,甚至可以在 bundle 包中创建的异常:

<?php
// src/Acme/DemoBundle/Exception/FooException.php
namespace Acme\DemoBundle\Exception;

class FooException extends \Exception
{
}

<?php
// src/Acme/DemoBundle/Controller/FooController.php

// ...
use Acme\DemoBundle\Exception\FooException;

// ...
public function barAction()
{
    // ... do something

    // throw an error
    throw new FooException('message');
}

但是,如果要将某些内容记录到文件中,则可以更好地使用monolog.logger服务之一(doctrineeventprofilerrequestroutersecuritytemplating)。有关更多信息,请阅读the monolog documentation。您也可以创建自己的Monolog记录器,创建服务并使用它。

关于symfony - 如何在Symfony2中隐藏E_USER_NOTICE错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13414900/

相关文章:

php - Doctrine Symfony ORM 不使用 PHP 7.2 生成 MySQL UUID

database - Symfony2 : get the id of the persisted object

swift - “ fatal error :在展开可选值时意外发现nil”是什么意思?

javascript - Javascript 中 undefined variable ,请帮助使其正确

jquery - ruby on rails ajax错误处理

ajax - AJAX div的错误处理

symfony - 没有扩展能够加载 “facebookbundle” symfony2的配置

javascript - 如何使用 JSON 将信息从 Twig 传递到 Javascript?

sql - : operator for DQL queries

asp.net - 在 URL 重写后访问母版页加载事件中的 session