我已经实现了 onKernelRequest 处理程序:
class RequestSubscriber implements EventSubscriberInterface
{
public static function getSubscribedEvents ()
{
return array (
KernelEvents::REQUEST => [array ('onKernelRequest', 5000)]
);
}
public function onKernelRequest (GetResponseEvent $event)
{
$request = $event->getRequest();
$request->attributes->set('_controller', 'TestBundle:Display:index');
}
}
为了简洁起见,我删除了检查控制器是否应该被覆盖的条件测试。
这是有效的 - 除了调试工具栏现在没有显示 - 我假设现在所有其他的侦听器/订阅者和kernel.controller都被规避了吗?
如果我做了kernel.controller事件,这会更好吗?作为具有更高优先级的最后一个处理程序?