From 88fd0f1fa14c6c2b4e84996db9bcda92c010c09d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juli=C3=A1n=20Guti=C3=A9rrez?= Date: Sat, 7 Oct 2017 18:25:32 +0200 Subject: [PATCH] extract outside loop --- src/EventsTrait.php | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/src/EventsTrait.php b/src/EventsTrait.php index b6a32f7..b641079 100644 --- a/src/EventsTrait.php +++ b/src/EventsTrait.php @@ -43,6 +43,7 @@ trait EventsTrait public function disableEventSubscriber($subscriberClass) { $subscriberClass = $this->getSubscriberClassName($subscriberClass); + $eventManager = $this->getEventManager(); /* @var EventSubscriber[] $subscribers */ foreach ($this->getEventListeners() as $subscribers) { @@ -50,7 +51,7 @@ public function disableEventSubscriber($subscriberClass) if ($subscriber instanceof $subscriberClass) { $this->disabledSubscribers[] = $subscriber; - $this->getEventManager()->removeEventSubscriber($subscriber); + $eventManager->removeEventSubscriber($subscriber); return; } @@ -63,8 +64,10 @@ public function disableEventSubscriber($subscriberClass) */ public function restoreEventSubscribers() { + $eventManager = $this->getEventManager(); + foreach ($this->disabledSubscribers as $subscriber) { - $this->getEventManager()->addEventSubscriber($subscriber); + $eventManager->addEventSubscriber($subscriber); } $this->disabledSubscribers = []; @@ -77,12 +80,14 @@ public function restoreEventSubscribers() */ public function disableEventListeners(string $event) { + $eventManager = $this->getEventManager(); + if (!array_key_exists($event, $this->disabledListeners)) { $this->disabledListeners[$event] = []; } foreach ($this->getEventListeners($event) as $listener) { - $this->getEventManager()->removeEventListener($event, $listener); + $eventManager->removeEventListener($event, $listener); $this->disabledListeners[$event][] = $listener; } @@ -104,11 +109,13 @@ public function disableEventListener(string $event, $subscriberClass) $this->disabledListeners[$event] = []; } + $eventManager = $this->getEventManager(); + foreach ($this->getEventListeners($event) as $listener) { if ($listener instanceof $subscriberClass) { $this->disabledListeners[$event][] = $listener; - $this->getEventManager()->removeEventListener($event, $listener); + $eventManager->removeEventListener($event, $listener); break; } } @@ -119,10 +126,12 @@ public function disableEventListener(string $event, $subscriberClass) */ public function restoreAllEventListeners() { + $eventManager = $this->getEventManager(); + foreach ($this->disabledListeners as $event => $listeners) { /* @var EventSubscriber[] $listeners */ foreach ($listeners as $listener) { - $this->getEventManager()->addEventListener($event, $listener); + $eventManager->addEventListener($event, $listener); } $this->disabledListeners[$event] = []; @@ -140,11 +149,12 @@ public function restoreEventListeners(string $event) return; } + $eventManager = $this->getEventManager(); + /* @var EventSubscriber[] $listeners */ $listeners = $this->disabledListeners[$event]; - foreach ($listeners as $listener) { - $this->getEventManager()->addEventListener($event, $listener); + $eventManager->addEventListener($event, $listener); } $this->disabledListeners[$event] = [];