何かが足りないかもしれませんが、Symfony2のルートでクエリ文字列パラメーターを定義してコントローラーに渡す方法がないようです。
たとえば、/blog/my-blog-post
(Symfony2のルーティングドキュメントから)のようなURIを生成し、それを次のルートに渡す代わりに:
# app/config/routing.yml
blog_show:
pattern: /blog/{slug}
defaults: { _controller: AcmeBlogBundle:Blog:show }
のようなURIを生成したいと思い/blog?slug=my-blog-post
ます。問題は、ルート構成ファイルでパラメーターを定義する場所が見つからないことslug
です(上記の{slug}の対応物のように)。
おそらくこれは意図的なものですが、クエリ文字列でGETパラメータを操作するためのベストプラクティスは何ですか?
ドキュメントでは、クエリ文字列を使用したURLの生成でそれらについて言及しているので、それらをコントローラーに渡す方法は?
それらについての言及を見つけることができるのは、Symfony2とHTTPの基礎です:
use Symfony\Component\HttpFoundation\Request;
$request = Request::createFromGlobals();
// retrieve GET variables
$request->query->get('foo');
これは、コントローラー内でそれらを操作するためのベストプラクティスですか?