Sylius\Bundle\ThemeBundle\DependencyInjection\SyliusThemeExtension::resolveConfigurationSources PHP Метод

resolveConfigurationSources() приватный Метод

private resolveConfigurationSources ( ContainerBuilder $container, array $config ) : mixed
$container Symfony\Component\DependencyInjection\ContainerBuilder
$config array
Результат mixed
    private function resolveConfigurationSources(ContainerBuilder $container, array $config)
    {
        $configurationProviders = [];
        foreach ($this->configurationSourceFactories as $configurationSourceFactory) {
            $sourceName = $configurationSourceFactory->getName();
            if (isset($config['sources'][$sourceName]) && $config['sources'][$sourceName]['enabled']) {
                $sourceConfig = $config['sources'][$sourceName];
                $configurationProvider = $configurationSourceFactory->initializeSource($container, $sourceConfig);
                if (!$configurationProvider instanceof Reference && !$configurationProvider instanceof Definition) {
                    throw new \InvalidArgumentException(sprintf('Source factory "%s" was expected to return an instance of "%s" or "%s", "%s" found', $configurationSourceFactory->getName(), Reference::class, Definition::class, is_object($configurationProvider) ? get_class($configurationProvider) : gettype($configurationProvider)));
                }
                $configurationProviders[] = $configurationProvider;
            }
        }
        $compositeConfigurationProvider = $container->getDefinition('sylius.theme.configuration.provider');
        $compositeConfigurationProvider->replaceArgument(0, $configurationProviders);
        foreach ($this->configurationSourceFactories as $configurationSourceFactory) {
            $container->addObjectResource($configurationSourceFactory);
        }
    }