Возможно, я что-то упускаю, но, похоже, нет способа определить параметры строки запроса в маршрутах в 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');
. Является ли это лучшей практикой для работы с ними внутри контроллера?