Obtenir tous les paramètres de requête dans Symfony 2
Dans les contrôleurs symfony 2, chaque fois que je veux obtenir une valeur de post, je dois exécuter:
$this->getRequest()->get('value1');
$this->getRequest()->get('value2');
Existe-t-il un moyen de les consolider en une seule instruction qui retournerait un tableau? Quelque chose comme Getparams () de Zend?
2 réponses
Vous pouvez faire $this->getRequest()->query->all();
pour obtenir tous les paramètres GET et $this->getRequest()->request->all();
pour obtenir tous les paramètres POST.
, Donc dans votre cas:
$params = $this->getRequest()->request->all();
$params['value1'];
$params['value2'];
Pour plus d'informations sur la classe Request, voir http://api.symfony.com/2.8/Symfony/Component/HttpFoundation/Request.html
Avec les versions récentes de Symfony 2.6 + comme une demande de meilleure pratique est passée en argument avec action dans ce cas, vous n'aurez pas besoin d'appeler explicitement $ this - > getRequest (), mais plutôt d'appeler $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());
}
}