Ich verwende den Ereignis-Listener onKernelResponse
.Symfony2: onKernelResponse zweimal aufgerufen als MASTER_REQUEST
Trotz habe ich:
if (HttpKernelInterface::MASTER_REQUEST != $event->getRequestType()) {
return;
}
Es ist ein MASTER_REQUEST
zweimal in meiner Wirkung, gibt es einen vor den <!DOCTYPE html> <html> <head>
etc, und die andere als nach dem Ende des Layouts vorbehalten.
Er ist mein services.yml
:
history.listener:
class: VENDOR\MyBundle\Service\HistoryListener
arguments: [@doctrine.orm.entity_manager, @logger, @history]
tags:
- { name: kernel.event_listener, event: kernel.controller, method: onKernelController }
- { name: kernel.event_listener, event: kernel.response, method: onKernelResponse }
Habe ich etwas falsch gemacht?
landete ich dies zu tun - 'strpos ($ event-> getRequest() -> Attributen-> get ('_ Controller'), 'WebProfilerBundle!') == false' nicht sicher, wie klug es ist aber der Trick. – codekipple
Manchmal ist es Symfony \ Bundle \ FrameworkBundle \ Controller \ RedirectController, also möchten Sie es vielleicht auch ausschließen. – BentCoder
In meinem Fall hatte ich das zweite Mal Symfony \ Bundle \ TwigBundle \ Controller \ ExceptionController. Ich musste einen Fehler beheben und alles hat gut funktioniert. – Strabek