Blast\Orm\EventEmitterFactoryTrait::createEventEmitter PHP Метод

createEventEmitter() публичный Метод

Set as second argument a emitter instance, otherwise the factory creates a new one. Event array could have a name-handler-pair, a listener provider as instance of \League\Event\ListenerProviderInterface or a argument array with name, handler and priority Configure event array as follows: $events = [ name-handler-pair 'eventName' => function()}, listener provider as instance of \League\Event\ListenerProviderInterface new \Acme\MyListenerProvider argument array name, handler, prio ['name', function()}, 10] alternating argument array name => [handler, prio] 'eventName' => [function()}, 10] ];
public createEventEmitter ( League\Event\ListenerProviderInterface | array $events = [], League\Event\EmitterInterface $emitter = null ) : League\Event\Emitter
$events League\Event\ListenerProviderInterface | array
$emitter League\Event\EmitterInterface
Результат League\Event\Emitter
    public function createEventEmitter($events = [], EmitterInterface $emitter = null)
    {
        if (null === $emitter) {
            $emitter = new Emitter();
        }
        if (!is_array($events)) {
            $events = [$events];
        }
        if (!empty($events)) {
            foreach ($events as $name => $handler) {
                if ($handler instanceof ListenerProviderInterface) {
                    $emitter->useListenerProvider($handler);
                    continue;
                }
                $args = is_array($handler) ? array_merge([$name], $handler) : [$name, $handler, EmitterInterface::P_NORMAL];
                call_user_func_array([$emitter, 'addListener'], $args);
            }
        }
        return $emitter;
    }
EventEmitterFactoryTrait