添加请求参数以进行请求

时间:2012-02-20 11:49:17

标签: symfony

我需要在kernel.event_listener阶段kernel.controller放置一个标记,以便在kernel.response - 监听器中执行某些操作。

我考虑过向$request对象添加一个参数,但是没有找到任何方法或者这样:

http://api.symfony.com/2.0/Symfony/Component/HttpFoundation/Request.html

将一些信息从kernel.controller - 听众传递给kernel.response - 听众的最佳做法是什么?

用例:

  • 我们希望根据特定请求属性的验证来设置cookie(必须在kernel.controller - 阶段,因为根据验证结果,视图可能表现不同)。
  • 只能在kernel.response - 侦听器中设置Cookie,因为它具有Response - 实例。

1 个答案:

答案 0 :(得分:36)

您可以使用$request->attributes传递信息。在你的控制器监听器中:

$request->attributes->set('mykey', 'myvalue');

在你的回复听众中:

$myvalue = $request->attributes->get('mykey');