加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – Symfony2事件监听器作为服务

发布时间:2020-12-13 22:02:29 所属栏目:PHP教程 来源:网络整理
导读:将事件侦听器定义为服务时,如何定义要与哪个事件一起使用的函数? services.yml: kernel.listener.desktop_init: class: AirOSTopBarModuleListenersInitAdminDesktopListener tags: - { name: kernel.listener } 听众课程: class InitAdminDesktopList
将事件侦听器定义为服务时,如何定义要与哪个事件一起使用的函数?

services.yml:

kernel.listener.desktop_init:
    class: AirOSTopBarModuleListenersInitAdminDesktopListener
    tags:
        - { name: kernel.listener }

听众课程:

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

}

解决方法

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

kernel.listener.desktop_init:
    class: AirOSTopBarModuleListenersInitAdminDesktopListener
    tags:
        - { name: kernel.listener,event: onInitAdminDesktop,method: onInitAdminDesktop }

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读