【问题标题】:Symfony2 get request in action called in twigSymfony2 获取请求在树枝中调用
【发布时间】:2015-02-11 18:46:50
【问题描述】:

我有一个树枝模板:

{% render controller('MyBundle:Default:leftside') %}

所以我的控制器左侧有一个动作:

public function leftsideAction(Request $request)

我正在尝试,在此操作中检索 GET 参数:

$request->get('MY_PARAM')

但我想它总是空的,因为我在我的模板中呈现了这个动作,我无法检索我的所有请求。

我该怎么做?

【问题讨论】:

    标签: symfony request twig


    【解决方案1】:

    由于请求堆栈的概念,这是完全可以预料的。

    提供给“main”操作的RequestMASTER_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类的定义:link

    【讨论】:

    • 好的 :) 谢谢 ;)
    猜你喜欢
    • 2015-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-22
    • 1970-01-01
    • 2015-12-10
    • 2012-09-16
    • 1970-01-01
    相关资源
    最近更新 更多