我遇到了 Symfony 2.3 的问题,我无法使用它来获取处理致命错误的自定义函数。Symfony 异常工作正常,如 404 等,但不是致命错误。
这是我在搜索互联网后得到的,我在 TestBundle 中创建了一个父控制器。另一个默认控制器扩展了 TestingSomeThingController。请参阅下面的文件以获取代码。但是当我删除 ; 在 DefaultController 的行尾,它显示标准的致命错误页面,而不是我在代码中输入的“yaay”。有人有这个问题的答案吗?谢谢!
测试SomeThingController
<?php
namespace TestingSomeThing\TestBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller as BaseController;
use Symfony\Component\HttpFoundation\Response;
class TestingSomeThingController extends BaseController
{
public function __construct()
{
set_error_handler(array($this, 'sdfg'));
register_shutdown_function(array($this, 'sdfg'));
}
public function sdfg()
{
$error = error_get_last();
if(isset($error)) {
echo 'yaay';
die();
}
}
}
默认控制器
<?php
namespace TestingSomeThing\TestBundle\Controller;
use TestingSomeThing\TestBundle\Controller\TestingSomeThingController;
class DefaultController extends TestingSomeThingController
{
public function indexAction($name)
{
return $this->render('TestingSomeThingBundle:Default:index.html.twig', array('name' => $name))
}
}