【发布时间】:2019-03-04 14:58:13
【问题描述】:
我正在尝试在 php Symfony 4 中创建一个自定义异常控制器。基本上我想要做的是有一个默认路由,当没有其他路由匹配时调用它。
我正在尝试遵循此处的建议: https://symfony.com/doc/current/controller/error_pages.html#custom-exception-controller
我在 configs>>pacakges 中创建了 twig.yaml 文件:
twig:
exception_controller: App\Controller\ExceptionController::showException
我还创建了 ExceptionController 类:
<?php
namespace App\Controller;
use Symfony\Component\HttpFoundation\Response;
class ExceptionController
{
public function showException()
{
$response = new Response();
$response->setContent("Some random text");
$response->headers->set('Content-Type', 'text/plain');
$response->headers->set('Access-Control-Allow-Origin', '*');
$response->setStatusCode(200);
return $response;
}
}
当我访问一个不存在的 url 时,我希望看到文本“一些随机文本”,但我得到的是默认的 symfony 未找到页面:
有什么想法我可能做错了吗?
【问题讨论】:
-
我又看了一遍——我能够创建一个新的 Symfony 4 实例并覆盖异常控制器而没有任何问题。我在您的问题中注意到一件事:您说您创建了一个 twig.yaml - 这应该已经存在。另外,您说您在
configs下创建了它 - 这应该是config。你能澄清一下你的 twig.yaml 的路径吗?
标签: php symfony routes controller symfony4