如何在事件侦听器中触发重定向到特定路由器?
有很多例子,但我找不到一个"GetResponseForExceptionEvent".例如,当我@roter作为参数传递时$this->router....似乎没有这样做.
我检查了这些但我可能错过了一些东西:
service.yml
services:
kernel.listener.kernel_request:
class: Booking\AdminBundle\EventListener\ErrorRedirect
tags:
- { name: kernel.event_listener, event: kernel.exception, method: onKernelException }
Run Code Online (Sandbox Code Playgroud)
事件监听器:
namespace Booking\AdminBundle\EventListener;
use Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
class ErrorRedirect
{
public function onKernelException(GetResponseForExceptionEvent $event)
{
$exception = $event->getException();
if ($exception instanceof NotFoundHttpException) {
// redirect to '/' router or '/error'
//$event->setResponse(...........);
}
}
}
Run Code Online (Sandbox Code Playgroud) symfony ×1