我需要在kernel.event_listener
阶段kernel.controller
放置一个标记,以便在kernel.response
- 监听器中执行某些操作。
我考虑过向$request
对象添加一个参数,但是没有找到任何方法或者这样:
http://api.symfony.com/2.0/Symfony/Component/HttpFoundation/Request.html
将一些信息从kernel.controller
- 听众传递给kernel.response
- 听众的最佳做法是什么?
用例:
kernel.controller
- 阶段,因为根据验证结果,视图可能表现不同)。kernel.response
- 侦听器中设置Cookie,因为它具有Response
- 实例。答案 0 :(得分:36)
您可以使用$request->attributes
传递信息。在你的控制器监听器中:
$request->attributes->set('mykey', 'myvalue');
在你的回复听众中:
$myvalue = $request->attributes->get('mykey');