如何检查请求是 Symfony2 或 Symfony3 中的 POST 还是 GET 请求

2022-08-30 10:27:38

我只是想知道是否有一种非常简单的方法(最好:一个简单的我可以调用)来确定请求是请求还是请求。$this->container->isGet()$_POST$_GET

根据文档,

请求对象保存有关客户端请求的信息。可以通过几个公共属性访问此信息:

  • request:相当于$_POST;
  • query:相当于$_GET ($request->query->get('name'));

但是我将无法使用或检查,因为两者都是 Request 类中的现有属性。if($request->request)if($request->query)

所以我想知道Symfony提供类似的东西

$this->container->isGet();
// or isQuery() or isPost() or isRequest();

上述?


答案 1

如果你想在控制器中做到这一点,

$this->getRequest()->isMethod('GET');

或者在模型(服务)中,先将 Request 对象注入或传递给模型,然后执行上述操作。

编辑:对于Symfony 3使用此代码

if ($request->isMethod('post')) {
    // your code
}

答案 2

或者这个:

public function myAction(Request $request)
{
    if ($request->isMethod('POST')) {

    }
}

推荐