无法覆盖 symfony 5 异常模板
can't override symfony 5 exception templates
我按照 Symfony 当前文档来覆盖异常模板:
How to Customize Error Pages
在我的 AccesDeniedListener.php class 中,我输入:
public function onKernelException(ExceptionEvent $event, string $eventName = null): void
{
$exception = $event->getThrowable();
if (!$exception instanceof AccessDeniedException) {
return;
}
// ... perform some action (e.g. logging)
// optionally set the custom response
$event->setResponse(new Response(null, 403));
// or stop propagation (prevents the next exception listeners from being called)
//$event->stopPropagation();
}
我已经安装了symfony/twig-pack
并在我的模板文件夹中添加了 Execption twigs :
终于没有应用我的新树枝
如果您的应用程序环境设置为 prod,您应该获得自定义错误页面。如果您的应用程序环境设置为开发,那么您仍然会收到开发错误消息。要在开发中测试您的自定义页面,您可以按照您所遵循的指南中的说明添加特殊路线。
# config/routes/dev/framework.yaml
_errors:
resource: '@FrameworkBundle/Resources/config/routing/errors.xml'
prefix: /_error
在 dev 中使用该配置,您应该能够访问 http://example.com/_error/403。
我按照 Symfony 当前文档来覆盖异常模板: How to Customize Error Pages
在我的 AccesDeniedListener.php class 中,我输入:
public function onKernelException(ExceptionEvent $event, string $eventName = null): void
{
$exception = $event->getThrowable();
if (!$exception instanceof AccessDeniedException) {
return;
}
// ... perform some action (e.g. logging)
// optionally set the custom response
$event->setResponse(new Response(null, 403));
// or stop propagation (prevents the next exception listeners from being called)
//$event->stopPropagation();
}
我已经安装了symfony/twig-pack
并在我的模板文件夹中添加了 Execption twigs :
终于没有应用我的新树枝
如果您的应用程序环境设置为 prod,您应该获得自定义错误页面。如果您的应用程序环境设置为开发,那么您仍然会收到开发错误消息。要在开发中测试您的自定义页面,您可以按照您所遵循的指南中的说明添加特殊路线。
# config/routes/dev/framework.yaml
_errors:
resource: '@FrameworkBundle/Resources/config/routing/errors.xml'
prefix: /_error
在 dev 中使用该配置,您应该能够访问 http://example.com/_error/403。