在Symfony 4.4中实现自定义错误控制器

问题描述

我做了什么:

我已经创建了这个自定义控制器,因为我想将一些额外的变量传递给错误页面。

#Controller/CustomErrorControler.php
namespace App\Controller;

use App\Controller\Base\BaseController;
use Symfony\Component\ErrorHandler\Exception\FlattenException;
use Symfony\Component\HttpKernel\Log\DebugLoggerInterface;

class CustomErrorController extends BaseController
{

    public function show(FlattenException $exception,DebugLoggerInterface $logger = null)
    {
        return $this->getView('bundles/TwigBundle/Exception/error.html.twig',[
            "code" => $exception->getStatusCode(),"message" =>$exception->getStatusText()
        ]);
    }
}

和启用的

#config/packages/framework.yaml
error_controller: App\Controller\CustomErrorController::show

我直接遵循了文档。我的问题是,在非生产阶段,我需要获取框架提供的默认异常模板。

我尝试扩展Symfony\Component\HttpKernel\Controller\ErrorController,但在自动装配时遇到错误。

也许我应该使用Symfony\Component\ErrorHandler\ErrorRenderer\ErrorRendererInterface 有什么想法可以实现吗?

解决方法

使用不同的framework.yaml解决产品问题

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...