Symfony2 :Как передать параметры строки запроса URL контроллерам?

Возможно, я что-то упускаю, но, похоже, нет способа определить параметры строки запроса в маршрутах в Symfony2, чтобы их можно было передать в контроллер.

Например, вместо создания URI типа/blog/my-blog-post(из документации по маршрутизации Symfony2 )и прохождение его по следующему маршруту:

# 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 Fundamentals :

use Symfony\Component\HttpFoundation\Request;

$request = Request::createFromGlobals();

// retrieve GET variables
$request->query->get('foo');

. Является ли это лучшей практикой для работы с ними внутри контроллера?

19
задан jcroll 23 July 2012 в 21:33
поделиться