【问题标题】:Add a cookie to response in Request Listener在请求侦听器中添加 cookie 以响应
【发布时间】:2015-02-14 05:11:42
【问题描述】:

我的 Symfony2 应用程序中有一个侦听器,它侦听请求事件,以更新我的用户的最后连接日期。

它工作正常,但我想在同一个事件上添加(或刷新)一个 cookie。我找到了一些资源,说是通过 $event->getResponse() 访问响应,但在我的例子中这个值是NULL

我已经看到可以创建一个新的响应通过setReponse,但是我不想设置整个响应,我只想添加一个cookie。

有没有办法做到这一点?

提前致谢;)

【问题讨论】:

    标签: php symfony cookies


    【解决方案1】:

    收听kernel.response 事件。因此,您将可以访问所选控制器返回的 Response 对象。在 After Filters with the kernel.response Event 文档页面上阅读更多相关信息。

    另外,请查看The HttpKernel Component,了解有关事件和一般请求管道的信息。

    【讨论】:

    • 好吧,你说得对,我应该听kernel.response。但是在文档中,我看不出响应中的过滤器和响应中的侦听器之间的区别,您能给我一个线索吗?
    • 抱歉,过滤器是什么意思?您只需为事件注册侦听器函数以实现一些需要在每个用户请求上完成的逻辑。您可以将此逻辑称为filters,以便过滤用户请求以匹配某些条件。
    • 我不明白文档中FilterResponseEventGetResponseEvent 之间的区别。它似乎做同样的事情。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-16
    • 1970-01-01
    • 2012-05-20
    • 1970-01-01
    • 2018-01-20
    • 1970-01-01
    • 2016-11-20
    相关资源
    最近更新 更多