2012-07-12 4 views
0

Мне нужно передать «_route» из контейнера в прослушиватель событий, а также атрибут маршрута. Другими словами, мне нужна служба прослушивателя, чтобы стать контейнером, не пропуская накладных расходов, передав весь service_container в класс слушателя событий.Symfony2: передать _route службе прослушивателя событий

Я видел примеры кода, подобные этим:

services: 
    root.path.locator: 
     class: Acme\Bundle\HelloBundle\Util\RootLocator 
     arguments: ['%kernel.root_dir%'] 

В контроллере я бы использовать что-то вроде кода ниже, чтобы захватить «_route»:

$request = $this->container->get('request'); 
$routeName = $request->get('_route'); 

Однако в прослушиватель событий, у меня нет этого.

Как я могу выполнить вышеуказанное?

Спасибо,

JB

ответ

1

Набор scope к request на сервис XML-тег. Это автоматически добавит объект Request, а затем установите параметр @request в качестве аргумента. В ямле установите scope: request и arguments: [@request].

+0

Интересно. Пока объект Request передан, похоже, что массив параметров запроса пуст, который должен содержать параметр _route. Я что-то пропускаю? – jbsound

Смежные вопросы