Ändern der Ereignishandlerpriorität in Symfony 2

8

Ich habe 2 Ereignis-Listener für "name: kernel.event_listener, event: kernel.request" definiert, aber ich kann tun, was ich will, ich kann die Reihenfolge des Aufrufs dieses Listeners nicht ändern. Ich versuche, die "Priorität" Nummer zu verwenden, aber nichts hilft.

Dieses Ereignis ruft immer @first:

auf %Vor%

und dieses Ereignis wird nie aufgerufen, weil das erste Ereignis einen Dienst verwendet, der von einer Information dieses Ereignisses abhängt, also abstürzt, bevor dieses Ereignis ausgelöst wird:

%Vor%

Ich habe auch die "Priorität" geändert, aber nichts hat sich geändert: (

Vielleicht hat jemand einen Tipp für mich, damit ich sicherstellen kann, dass der Listener "MyBundle.Bar.Listener.RequestListener" vor dem anderen Event anruft?

    
SkyDiablo 30.06.2012, 23:08
quelle

1 Antwort

8

Das Problem ist, dass die Ereignis-Listener-Klasse beim Start von Symfony initialisiert wird, bevor ein Ereignis ausgelöst wird.

Ich musste meine DI in:

ändern %Vor%

Ich habe diesen Dienst "@service_container" verwendet und innerhalb des Ereignisses den Zieldienst "@ Need.some.infos.service" aufgerufen, und alles funktioniert einwandfrei.

    
SkyDiablo 01.07.2012, 11:59
quelle

Tags und Links