Intereting Posts
Распаковка нагрузки в соответствии со значением другого раскрывающегося списка – без обновления страницы в PHP Процесс FastCGI превысил настроенный тайм-аут активности на общем хостинге ZF2: где хранить файлы шаблонов partialLoop? Исторические недостатки безопасности популярных PHP CMS? Regex соответствует двойным фигурным скобкам Использование WHERE IN (…) с PDO не работает, когда строка привязана Как проверить, является ли запись mysql пустой в PhP? Ошибка PHP с преобразованием объекта в массивы in_array несколько значений Найти соответствующие скобки, используя регулярное выражение Как получить чужой репозиторий внутри моего репозитория в Doctrine2 / Symfony2? Как проверить вставку нескольких записей в laravel? PHP Codeigniter в Centos: include_once не работает для пользовательских системных библиотек Что такое целочисленное свойство и что значит «\ 0A \ 0A»? display_errors для php5-fpm не работает с nginx

Получение всех параметров запроса в Symfony 2

В контроллерах symfony 2 каждый раз, когда я хочу получить значение из сообщения, мне нужно запустить:

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

Есть ли способ объединить их в один оператор, который возвращает массив? Что-то вроде getParams () Zend?

Вы можете сделать $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.

С последними версиями 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()); } }