Прослушиватель событий Symfony2 как сервис - PullRequest
3 голосов
/ 22 июня 2011

При определении прослушивателя событий как службы, как определить, какую функцию использовать с каким событием?

services.yml:

kernel.listener.desktop_init:
    class: AirOS\TopBarModule\Listeners\InitAdminDesktopListener
    tags:
        - { name: kernel.listener }

класс слушателя:

class InitAdminDesktopListener
{
    public function onInitAdminDesktop(InitAdminDesktopEvent $event)
    {
        $session = $event->getSession();
        $session->set('test2', 'im a test value!');
    }

}

1 Ответ

12 голосов
/ 22 июня 2011

Вы в основном там;вам нужны параметры event и method для вашего тега (начиная с выпуска Beta4):

kernel.listener.desktop_init:
    class: AirOS\TopBarModule\Listeners\InitAdminDesktopListener
    tags:
        - { name: kernel.listener, event: onInitAdminDesktop, method: onInitAdminDesktop }

Обратите внимание, что в следующей версии RC1 Symfony вам нужно будет использовать kernel.event_listenerkernel.listener для имени тега (см. ОБНОВЛЕНИЕ файла для получения дополнительной информации).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...