| @@ 16-30 (lines=15) @@ | ||
| 13 | { |
|
| 14 | $event = new Event(); |
|
| 15 | ||
| 16 | $provider = new class implements ListenerProviderInterface |
|
| 17 | { |
|
| 18 | public function getListenersForEvent(object $event): iterable |
|
| 19 | { |
|
| 20 | yield function (Event $event) { |
|
| 21 | $event->register(1); |
|
| 22 | }; |
|
| 23 | yield function (Event $event) { |
|
| 24 | $event->register(2); |
|
| 25 | }; |
|
| 26 | yield function (Event $event) { |
|
| 27 | $event->register(3); |
|
| 28 | }; |
|
| 29 | } |
|
| 30 | }; |
|
| 31 | ||
| 32 | $dispatcher = new Dispatcher($provider); |
|
| 33 | $dispatcher->dispatch($event); |
|
| @@ 42-57 (lines=16) @@ | ||
| 39 | { |
|
| 40 | $event = new StoppableEvent(); |
|
| 41 | ||
| 42 | $provider = new class implements ListenerProviderInterface |
|
| 43 | { |
|
| 44 | public function getListenersForEvent(object $event): iterable |
|
| 45 | { |
|
| 46 | yield function (StoppableEvent $event) { |
|
| 47 | $event->register(1); |
|
| 48 | $event->stopPropagation(); |
|
| 49 | }; |
|
| 50 | yield function (StoppableEvent $event) { |
|
| 51 | $event->register(2); |
|
| 52 | }; |
|
| 53 | yield function (StoppableEvent $event) { |
|
| 54 | $event->register(3); |
|
| 55 | }; |
|
| 56 | } |
|
| 57 | }; |
|
| 58 | ||
| 59 | $dispatcher = new Dispatcher($provider); |
|
| 60 | $dispatcher->dispatch($event); |
|