2

我遇到了 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))
    }
}
4

0 回答 0