我有一个Symfony事件监听器正在监听" kernel.request"。我想在请求中添加一个属性,我可以在控制器中访问该属性。我试过这样做:
$request = $event->getRequest();
$request->attributes->set('test', 'testvalue');
然而,"测试"属性不是我的控制器中请求对象的一部分。我没有收到任何错误,但它不存在。我还需要做什么?
编辑:
我确认正在调用侦听器。在我的控制器中,我有这个,但没有得到"测试"属性:
class DefaultController extends BaseController
{
public function indexAction(Request $request)
{
echo "<pre>"; print_r($request->attributes); echo "</pre>";
}
}
答案 0 :(得分:1)
事实证明我的事件监听器在我的属性设置之前返回。愚蠢的错误。