Получение всех параметров запроса в Symfony 2
в контроллерах symfony 2 каждый раз, когда я хочу получить значение из post, мне нужно запустить:
$this->getRequest()->get('value1');
$this->getRequest()->get('value2');
есть ли способ объединить их в один оператор, который вернет массив? Что-то вроде zend's getParams()?
2 ответа:
можно сделать
$this->getRequest()->query->all();
чтобы получить все получить params и$this->getRequest()->request->all();
чтобы получить все параметры.Так что в вашем случае:
$params = $this->getRequest()->request->all(); $params['value1']; $params['value2'];
дополнительные сведения о классе запроса см. В разделе http://api.symfony.com/2.8/Symfony/Component/HttpFoundation/Request.html
С последними версиями Symfony 2.6+ в качестве наилучшей практики запрос передается в качестве аргумента с действием в этом случае вам не нужно будет явно вызывать $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()); } }