首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Symfony2中的get->请求

Symfony2中的get->请求
EN

Stack Overflow用户
提问于 2012-06-21 13:51:10
回答 5查看 20K关注 0票数 4

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

代码语言:javascript
复制
public function emptytrashAction(){
    $request = $this->getRequest();
    $portfolio_id = $_POST["test"];
}

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

代码语言:javascript
复制
 <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>

如何不使用$_POST获得隐藏字段的值?

编辑

如果方法同时使用GET请求和POST请求,对于Post请求,我将签入代码如下

代码语言:javascript
复制
            if ($request->getMethod() == 'POST')

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

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-06-21 14:00:31

简单到:

代码语言:javascript
复制
$request  = $this->getRequest();
$postData = $request->request->get('test');

备注:此解决方案仅适用于Symfony <2.4版本。2.4 不受欢迎,3.0删除。

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

代码语言:javascript
复制
$request = $this->container->get('request_stack')->getCurrentRequest();
$postData = $request->request->get('test');
票数 8
EN

Stack Overflow用户

发布于 2014-08-22 09:08:15

$this->getRequest()是一个自symfony 2.4以来被弃用的方法,它将在3.0版本中被删除,因此获取当前请求的最佳方法是通过以下代码:

代码语言:javascript
复制
//src/Symfony/Bundle/FrameworkBundle/Controller/Controller.php
...

/*
 * ...
 * @deprecated Deprecated since version 2.4, to be removed in 3.0. Ask
 *             Symfony to inject the Request object into your controller
 *             method instead by type hinting it in the method's signature.
 */
public function getRequest()
{
    return $this->container->get('request_stack')->getCurrentRequest();
}

由以下的进化所引入,

堆栈服务,以获取基Controller类中的请求对象。

票数 3
EN

Stack Overflow用户

发布于 2014-10-08 07:53:18

您不应该使用getRequest()方法--它不推荐它--它总是将请求注入到控制器中是个好主意。定义你的行为如下:

代码语言:javascript
复制
public function emptytrashAction(Request $request){
    $portfolio_id = $request->request->get('test');
}

不要使用像POST这样的全局词,也不要在你的行为中使用它们是不安全的。

在这里您可以找到更多详细信息:http://symfony.com/blog/new-in-symfony-2-4-the-request-stack

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11139692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档