您好,匿名用户
随意问技术百科期待您的加入

谁能说一下sf2中subscriber和listener的区别

0 投票

如题,listener大概清楚,subscriber比较晕。

用户头像 提问 2012年 12月1日 @ Artemis 上等兵 (162 威望)
分享到:

1个回答

0 投票

注册listener(某个class的某个method)的时候需要指定事件。

而subscriber通过getSubscribedEvents()静态方法来指定事件的处理,可以理解成批量注册。getSubscribedEvents()的返回值是个数组,键是事件名称,对应的嵌套数组里列举这个事件需要触发的方法以及其优先级(值大的先触发,-1024~1024)

class ExampleSubscriber implements EventSubscriberInterface
{
    static public function getSubscribedEvents()
    {
        return array(
            'kernel.response' => array( // <-- 事件
                array('onKernelResponseFirst', 5), // <-- 第一个回调,优先级5
                array('onKernelResponseSecond', 0) // <-- 第二个回调,优先级0
            )
        );
    }

    public function onKernelResponseFirst(FilterResponseEvent $event)
    {
        // ...
    }

    public function onKernelResponseSecond(FilterResponseEvent $event)
    {
        // ...
    }
}
用户头像 回复 2012年 12月1日 @ Sona 上等兵 (306 威望)
提一个问题:

相关问题

0 投票
0 回复 24 阅读
用户头像 提问 2013年 12月19日 @ Skarner 上等兵 (193 威望)
0 投票
1 回复 35 阅读
0 投票
1 回复 36 阅读
0 投票
1 回复 36 阅读
用户头像 提问 2012年 12月1日 @ Sion 上等兵 (319 威望)
0 投票
1 回复 49 阅读

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...