Возможно, я что-то упустил, но, похоже, не существует способа определить параметры querystring в маршрутах в 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 в querystring?
В документации упоминается их в Создание URL-адресов с помощью строк запроса, поэтому как передать их в контроллер?
Где я могу найти упоминание о них, Symfony2 и Основы HTTP:
use Symfony\Component\HttpFoundation\Request;
$request = Request::createFromGlobals();
// retrieve GET variables
$request->query->get('foo');
Является ли это лучшей практикой для работы с ними внутри контроллера?