コントローラーに
use Symfony\Component\HttpFoundation\Request;
public function fooAction(Request $request)
{
$params = $request->query->all();
}
注意してください:$request->query->all();
クエリパラメータとして指定されたキーを持つ配列を返します
小枝に
コントローラから渡す限り(いつものようにこれを読んでください)、その方法でパラメータをビューに渡すことができます
use Symfony\Component\HttpFoundation\Request;
public function fooAction(Request $request)
{
$params = $request->query->all();
return $this->render('MyFooBundle:Bar:foobar.html.twig', array('params' => $params));
}
Twigテンプレートに、 params変数foobar.html.twig
を使用するだけですべてのクエリ文字列パラメーターにアクセスできます。
たとえば、このリクエストURLを使用します。http://example.com/?foo=bar&secondfoo=secondbar
{% for paramName, paramValue in params %}
<div>{{ paramName }}: {{ paramValue }}</div>
{% endfor %}
<div>{{ params.secondfoo }}</div>
小枝の出力:
<div>foo: bar</div>
<div>secondfoo: secondbar</div>
<span>secondbar</span>
もう1つの方法はapp.request.query.all
、コントローラーから小枝に何も渡さずに、小枝で使用することです。
最後の注意
配列をコントローラーから小枝に渡すときにこれらのパラメーターの1つを変更する場合は、通常の値の場合と同様に、配列値の1つを変更するだけです(例$params['id'] = $params['id'] - 1;
:)