Tôi đã xác định 2 trình xử lý sự kiện cho "name: kernel.event_listener, event: kernel.request", nhưng tôi có thể làm những gì tôi muốn, tôi không thể thay đổi thứ tự gọi người nghe này. Tôi cố gắng sử dụng số "ưu tiên", nhưng không có gì hữu ích.Làm thế nào để thay đổi ưu tiên xử lý sự kiện trong Symfony 2
Sự kiện này luôn được gọi @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 }
và sự kiện này là không bao giờ gọi điện thoại, bởi vì sự kiện đầu tiên sử dụng dịch vụ mà phụ thuộc vào một thông tin về sự kiện này, vì vậy nó bị treo trước khi sự kiện này được kích hoạt :
MyBundle.Bar.Listener.RequestListener:
class: %MyBundle.Bar.Listener.request.class%
arguments: [ @session ]
tags:
- { name: kernel.event_listener, event: kernel.request, method: onRequest, priority: 200 }
tôi đã thay đổi "ưu tiên" quá, nhưng không có gì thay đổi :(
có lẽ ai đó có một mẹo cho tôi, mà tôi có thể để đảm bảo rằng người nghe "MyBundl e.Bar.Listener.RequestListener "sẽ gọi trước sự kiện khác?