Symfony2: Получение маршрута в Слушателе загрузки страницы

Как я могу получить маршрут в загрузке страницы даже слушателем?

У меня есть следующий код в services.yml:

page_load_listener: class: Acme\MainBundle\EventListener\PageLoadListener arguments: [@security.context, @session] tags: - { name: kernel.event_listener, event: kernel.controller, method: onKernelController, priority: 64 } 

В классе PageLoadListener у меня есть соответствующий метод:

  public function onKernelController(FilterControllerEvent $event) { // Some code I need to execute that needs the route arguments } 

Проблема заключается в том, что маршрут и аргументы недоступны. Что мне не хватает?

Какое событие мне нужно будет пройти, чтобы забрать маршрут, и это аргументы?

Благодаря,

JB

Solutions Collecting From Web of "Symfony2: Получение маршрута в Слушателе загрузки страницы"

Все события ядра расширяют KernelEvent , что означает, что вы можете просто закрыть объект Request через $event->getRequest() .

 public function onKernelController(FilterControllerEvent $event) { $request = $event->getRequest(); // Matched route $_route = $request->attributes->get('_route'); // Matched controller $_controller = $request->attributes->get('_controller'); // All route parameters including the `_controller` $params = $request->attributes->get('_route_params'); } 

Если вы хотите получить простые атрибуты маршрута, просто отфильтруйте все элементы с префиксом «_».

Выбор подходящего события для прослушивания зависит от вашего конкретного варианта использования.