0 follower

Final Class Yiisoft\EventDispatcher\Dispatcher\Dispatcher

InheritanceYiisoft\EventDispatcher\Dispatcher\Dispatcher
ImplementsPsr\EventDispatcher\EventDispatcherInterface

Dispatcher executes listeners attached to event passed.

See also https://www.php-fig.org/psr/psr-14/.

Method Details

Hide inherited methods

__construct() public method

public mixed __construct ( \Psr\EventDispatcher\ListenerProviderInterface $listenerProvider )
$listenerProvider \Psr\EventDispatcher\ListenerProviderInterface

                public function __construct(private ListenerProviderInterface $listenerProvider)
{
}

            
dispatch() public method

public object dispatch ( object $event )
$event object

                public function dispatch(object $event): object
{
    /** @var callable $listener */
    foreach ($this->listenerProvider->getListenersForEvent($event) as $listener) {
        if ($event instanceof StoppableEventInterface && $event->isPropagationStopped()) {
            return $event;
        }
        $spoofableEvent = $event;
        $listener($spoofableEvent);
    }
    return $event;
}