ContainerInteropDoctrine\EventManagerFactory::createWithConfig PHP Метод

createWithConfig() защищенный Метод

protected createWithConfig ( Interop\Container\ContainerInterface $container, $configKey )
$container Interop\Container\ContainerInterface
    protected function createWithConfig(ContainerInterface $container, $configKey)
    {
        $config = $this->retrieveConfig($container, $configKey, 'event_manager');
        $eventManager = new EventManager();
        foreach ($config['subscribers'] as $subscriber) {
            if (is_object($subscriber)) {
                $subscriberName = get_class($subscriber);
            } elseif (!is_string($subscriber)) {
                $subscriberName = gettype($subscriber);
            } elseif ($container->has($subscriber)) {
                $subscriber = $container->get($subscriber);
                $subscriberName = $subscriber;
            } elseif (class_exists($subscriber)) {
                $subscriber = new $subscriber();
                $subscriberName = get_class($subscriber);
            } else {
                $subscriberName = $subscriber;
            }
            if (!$subscriber instanceof EventSubscriber) {
                throw new DomainException(sprintf('Invalid event subscriber "%s" given, mut be a dependency name, class name or an instance' . ' implementing %s', $subscriberName, EventSubscriber::class));
            }
            $eventManager->addEventSubscriber($subscriber);
        }
        return $eventManager;
    }