| Total Complexity | 6 |
| Total Lines | 25 |
| Duplicated Lines | 0 % |
| Coverage | 100% |
| Changes | 1 | ||
| Bugs | 0 | Features | 0 |
| 1 | <?php |
||
| 13 | final class Dispatcher implements EventDispatcherInterface |
||
| 14 | { |
||
| 15 | private ListenerProviderInterface $listenerProvider; |
||
| 16 | |||
| 17 | 2 | public function __construct(ListenerProviderInterface $listenerProvider) |
|
| 20 | 2 | } |
|
| 21 | |||
| 22 | 2 | public function dispatch(object $event): object |
|
| 23 | { |
||
| 24 | 2 | foreach ($this->listenerProvider->getListenersForEvent($event) as $listener) { |
|
| 25 | 2 | if ($event instanceof StoppableEventInterface && $event->isPropagationStopped()) { |
|
| 26 | 1 | return $event; |
|
| 27 | } |
||
| 28 | 2 | ||
| 29 | $this->handle($event, $listener); |
||
| 30 | } |
||
| 31 | 1 | ||
| 32 | return $event; |
||
| 33 | } |
||
| 34 | |||
| 35 | private function handle(object $event, callable $listener) |
||
| 38 | } |
||
| 39 | } |
||
| 40 |