Viewing File: /usr/local/cpanel/3rdparty/wp-toolkit/plib/vendor/dispify/event-dispatcher/src/EventDispatcher.php
<?php
namespace Dispify\EventDispatcher;
use Psr\EventDispatcher\EventDispatcherInterface;
use Psr\EventDispatcher\ListenerProviderInterface;
use Psr\EventDispatcher\StoppableEventInterface;
class EventDispatcher implements EventDispatcherInterface
{
private $listenerProvider;
public function __construct(ListenerProviderInterface $listenerProvider)
{
$this->listenerProvider = $listenerProvider;
}
/**
* @inheritDoc
*/
public function dispatch(object $event)
{
foreach ($this->listenerProvider->getListenersForEvent($event) as $listener) {
if ($event instanceof StoppableEventInterface && $event->isPropagationStopped()) {
break;
}
$listener($event);
}
return $event;
}
}
Back to Directory
File Manager