Symfony2 获取在 twig 中调用的动作请求
Symfony2 get request in action called in twig
我有一个树枝模板:
{% render controller('MyBundle:Default:leftside') %}
所以我的控制器左侧有一个动作:
public function leftsideAction(Request $request)
我正在尝试在此操作中检索 GET 参数:
$request->get('MY_PARAM')
但我想它总是空的,因为我在我的模板中呈现这个动作,我无法检索我的所有请求。
我该怎么做?
由于请求堆栈的概念,这完全符合预期。
提供给 "main" 操作的 Request
是 MASTER_REQUEST
,而通过 render controller
标签提供的 SUBREQUEST
.
您可以详细了解 RequestStack
功能 here。
现在,为了在 MASTER_REQUEST
中定义访问参数,您需要获取 request_stack
服务,然后获取主请求。之后一切如常:
public function leftsideAction(Request $request){
$stack = $this->get('request_stack');
$master = $stack->getMasterRequest();
$master->get('MY_PARAM'); // This should work
$request->get('MY_PARAM'); // But this should not
}
这里是 RequestStack
class 的定义:link
我有一个树枝模板:
{% render controller('MyBundle:Default:leftside') %}
所以我的控制器左侧有一个动作:
public function leftsideAction(Request $request)
我正在尝试在此操作中检索 GET 参数:
$request->get('MY_PARAM')
但我想它总是空的,因为我在我的模板中呈现这个动作,我无法检索我的所有请求。
我该怎么做?
由于请求堆栈的概念,这完全符合预期。
提供给 "main" 操作的 Request
是 MASTER_REQUEST
,而通过 render controller
标签提供的 SUBREQUEST
.
您可以详细了解 RequestStack
功能 here。
现在,为了在 MASTER_REQUEST
中定义访问参数,您需要获取 request_stack
服务,然后获取主请求。之后一切如常:
public function leftsideAction(Request $request){
$stack = $this->get('request_stack');
$master = $stack->getMasterRequest();
$master->get('MY_PARAM'); // This should work
$request->get('MY_PARAM'); // But this should not
}
这里是 RequestStack
class 的定义:link