繁体   English   中英

Symfony2事件监听器作为服务

[英]Symfony2 event listener as service

将事件侦听器定义为服务时,如何定义要与哪个事件一起使用的函数?

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!');
    }

}

你大部分都在那里; 您需要的是标签的eventmethod参数(自Beta4发布以来):

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

请注意,在即将发布的Symfony RC1版本中,您需要使用kernel.event_listener而不是kernel.listener作为标记名称(有关更多详细信息,请参阅UPDATE文件 )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM