web-dev-qa-db-ja.com

Symfony 2ですべてのリクエストパラメーターを取得する

Symfony 2コントローラーでは、投稿から値を取得するたびに実行する必要があります。

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

これらを配列を返す1つのステートメントに統合する方法はありますか? ZendのgetParams()のようなものですか?

65
ContextSwitch

$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 を参照してください

144

最近の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());
        }

    }
9
Aftab Naveed