我在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
服务之一(doctrine
,event
,profiler
,request
,router
,security
或templating
)。有关更多信息,请阅读the monolog documentation。您也可以创建自己的Monolog记录器,创建服务并使用它。
关于symfony - 如何在Symfony2中隐藏E_USER_NOTICE错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13414900/