Symfony2 kernel.response执行控制器注释后的事件

时间:2014-10-03 21:28:17

标签: php symfony

为了修改响应缓存控制头,我使用了kernel.response事件。 但是当我的监听器被调用时,控制器@cache注释尚未执行。如何在执行所有控制器注释后确保调用我的侦听器?

1 个答案:

答案 0 :(得分:1)

您可以通过设置优先级来更改同一事件的侦听器顺序。正如您在SensioFrameworkExtraBundle的HttpCacheListener中看到的那样,没有明确的优先级设置。这意味着它的默认优先级为0。因此,您可以将优先级设置为高于0的任何数字(我建议10等),然后再执行此操作:

services:
    my_cache_listener:
        class: ...
        tags:
            - { name: kernel.event_listener, event: kernel.response, priority: 10 }