【发布时间】:2014-05-16 03:32:43
【问题描述】:
我只是想知道是否有一种非常简单的方法(最好:我可以调用一个简单的$this->container->isGet())来确定请求是$_POST 还是$_GET 请求。
根据文档,
Request 对象包含有关客户端请求的信息。这 可以通过几个公共属性访问信息:
request:相当于$_POST;query:相当于$_GET($request->query->get('name'));
但我无法使用if($request->request) 或if($request->query) 进行检查,因为两者都是Request 类中的现有属性。
所以我想知道 Symfony 提供了类似的东西
$this->container->isGet();
// or isQuery() or isPost() or isRequest();
上面提到过?
【问题讨论】:
-
你可以像 $request->get('name') 那样做。无论请求方法是 post 还是 get..如果你真的想确定请求方法,你可以添加一个“要求:[_method:发布/获取/删除....]"
-
您的意思是将这一行添加到路由配置中?我确实在那里检查了限制方法,现在我想在控制器中确定它们。
-
如果你检查路由中的限制方法,那么只需在控制器中使用 $request->get('name') 就足够了
-
我正在使用一个控制器来处理这两种方法,例如就像在表格中一样(您可以使用
$form->isSubmitted()来检查这个。但就我而言,我没有/使用表格。
标签: php symfony request http-post http-get