获取Symfony 2中的所有请求参数

fhity93d  于 2023-05-07  发布在  其他
关注(0)|答案(5)|浏览(239)

在symfony 2控制器中,每次我想从post中获取一个值时,我需要运行:

$this->getRequest()->get('value1');
$this->getRequest()->get('value2');

有没有什么方法可以将这些合并到一个返回数组的语句中?类似于Zend的getParams()?

eivgtgni

eivgtgni1#

您可以执行$this->getRequest()->query->all();以获取所有GET参数,执行$this->getRequest()->request->all();以获取所有POST参数。
在你的例子中:

$params = $this->getRequest()->request->all();
$params['value1'];
$params['value2'];

有关Request类的更多信息,请参见http://api.symfony.com/2.8/Symfony/Component/HttpFoundation/Request.html

knsnq2tg

knsnq2tg2#

在最近的Symfony 2.6+版本中,请求作为一个带有action的参数传递,在这种情况下,您不需要显式调用$this-〉getRequest(),而是调用$request-〉request-〉all()

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
use Symfony\Component\HttpKernel\Exception\NotAcceptableHttpException;
use Symfony\Component\HttpFoundation\RedirectResponse;

    class SampleController extends Controller
    {

        public function indexAction(Request $request) {

           var_dump($request->request->all());
        }

    }
6ioyuze2

6ioyuze23#

因为你在一个控制器中,action方法被赋予了一个Request参数。
您可以使用$request->request->all();访问所有POST数据。这将返回一个键值对数组。
当使用GET请求时,使用$request->query->all();访问数据

xu3bshqb

xu3bshqb4#

对于Symfony 3.4,您可以访问GETPOST的数据,就像这样

发布

$data = $this->request->request->all();

获取

$data = $this->request->query->all();
uurv41yg

uurv41yg5#

好吧,记住这始终是PHP,所以您可以只检查超全局变量$_REQUEST
https://www.php.net/manual/en/reserved.variables.request.php

相关问题