"name:kernel.event_listener、event:kernel.request"に対して2つのイベントリスナーを定義しましたが、私が望むことはできますが、呼び出しの順序を変更することはできませんこのリスナー。私は「優先」番号を使用しようとしますが、何も助けません。Symfony 2でイベントハンドラの優先度を変更する方法
このイベントは常に@first呼んでいる:
MyBundle.Foo.Listener.RequestListener:
class: %MyBundle.Foo.Listener.request.class%
arguments: [ @session, @liip_theme.active_theme, @Need.some.infos.service ]
tags:
- { name: kernel.event_listener, event: kernel.request, method: onRequest, priority: 100 }
をし、最初のイベントは、このイベントの情報に依存したサービスを使用しているため、このイベントは、呼び出しされることはありませんので、このイベントがトリガされる前に、それがクラッシュしました:
MyBundle.Bar.Listener.RequestListener:
class: %MyBundle.Bar.Listener.request.class%
arguments: [ @session ]
tags:
- { name: kernel.event_listener, event: kernel.request, method: onRequest, priority: 200 }
私も「優先順位」に変更しましたが、何もそのリスナー「MyBundlを確保するために私ができることを、たぶん誰かが私のためのヒントを持っている:(
を変更しませんe.Bar.Listener.RequestListener "は他のイベントの前に呼び出しますか?