symfony – Kann mir jemand den Unterschied zwischen Subscriber und Listener in SF2 erklären?
怪我咯
怪我咯 2017-05-16 16:46:15
0
1
540

Wie der Titel kennt ihn der Hörer wahrscheinlich gut, aber der Abonnent ist verwirrt.

怪我咯
怪我咯

走同样的路,发现不同的人生

Antworte allen(1)
为情所困

注册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)
    {
        // ...
    }
}
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage