suchen

Heim  >  Fragen und Antworten  >  Hauptteil

symfony – Kann mir jemand den Unterschied zwischen Subscriber und Listener in SF2 erklären?

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

怪我咯怪我咯2830 Tage vor575

Antworte allen(1)Ich werde antworten

  • 为情所困

    为情所困2017-05-16 16:48:15

    注册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)
        {
            // ...
        }
    }

    Antwort
    0
  • StornierenAntwort