在Symfony2中获取 - >请求

Zoh*_*han 4 php post symfony

我有一个非常简单的问题,如何从get-> Request()获取POST值?

public function emptytrashAction(){
    $request = $this->getRequest();
    $portfolio_id = $_POST["test"];
}
Run Code Online (Sandbox Code Playgroud)

我不想使用$_POST变量,我提交的表单只包含这个隐藏的字段测试.表格是,

 <form name="empt_trash" action="{{ path('MunichInnovationGroupPatentBundle_portfolio_emptytrash') }}" method="post" >
    <input type="hidden" name="test" value={{ selected_portfolio.id }}>
    <input class="button3 tooltip" name = "submit" type="submit" value="Empty"></a>
 </form>
Run Code Online (Sandbox Code Playgroud)

如何在不使用的情况下获取隐藏字段的值$_POST

编辑

如果一个方法同时使用GET和POST请求,对于Post请求,我会检查我的代码

            if ($request->getMethod() == 'POST')
Run Code Online (Sandbox Code Playgroud)

但它不是symfony2方式,那么检查POST请求的正确方法是什么?

j0k*_*j0k 8

很简单:

$request  = $this->getRequest();
$postData = $request->request->get('test');
Run Code Online (Sandbox Code Playgroud)

注意:此解决方案仅对Symfony <2.4版本有效.对于2.4 ,不推荐使用 2.4 并删除3.0.

获取请求的新代码应该是:

$request = $this->container->get('request_stack')->getCurrentRequest();
$postData = $request->request->get('test');
Run Code Online (Sandbox Code Playgroud)