/** * @param ContainerBuilder $container * @param ProcessorDecorator $processor * @param string $scope * * @return array */ protected function loadConfig(ContainerBuilder $container, ProcessorDecorator $processor, $scope) { $config = array(); $alias = $scope === 'app' ? 'system' : $scope; $configLoader = new CumulativeConfigLoader(sprintf('oro_%s_configuration', $alias), new YamlCumulativeFileLoader(sprintf('Resources/config/%s_configuration.yml', $alias))); $resources = $configLoader->load($container); foreach ($resources as $resource) { $config = $processor->merge($config, $resource->data); } return $config; }
/** * {@inheritDoc} */ public function process(ContainerBuilder $container) { $config = []; $processor = new ProcessorDecorator(); foreach ($container->getParameter('kernel.bundles') as $bundle) { $reflection = new \ReflectionClass($bundle); if (is_file($file = dirname($reflection->getFilename()) . '/Resources/config/' . self::CONFIG_FILE_NAME)) { $bundleConfig = Yaml::parse(file_get_contents(realpath($file))); $config = $processor->merge($config, $bundleConfig); } } }
/** * {@inheritDoc} */ public function process(ContainerBuilder $container) { $config = array(); $processor = new ProcessorDecorator(); foreach ($container->getParameter('kernel.bundles') as $bundle) { $reflection = new \ReflectionClass($bundle); if (is_file($file = dirname($reflection->getFilename()) . '/Resources/config/' . self::CONFIG_FILE_NAME)) { $bundleConfig = Yaml::parse(file_get_contents(realpath($file))); $config = $processor->merge($config, $bundleConfig); } } $taggedServices = $container->findTaggedServiceIds(FormProvider::TAG_NAME); if ($taggedServices) { $config = $processor->process($config); foreach ($taggedServices as $id => $attributes) { $container->getDefinition($id)->replaceArgument(0, $config); } } }
/** * @dataProvider mergeDataProvider * * @param array $startData * @param array $newData * @param array $expectedResult */ public function testMerge($startData, $newData, $expectedResult) { $this->assertEquals($expectedResult, $this->processor->merge($startData, $newData)); }
/** * @param ContainerBuilder $container * @param ProcessorDecorator $processor * * @return array */ protected function loadConfig(ContainerBuilder $container, ProcessorDecorator $processor) { $config = []; $configLoader = new CumulativeConfigLoader('oro_system_configuration', new YamlCumulativeFileLoader('Resources/config/system_configuration.yml')); $resources = $configLoader->load($container); foreach ($resources as $resource) { $config = $processor->merge($config, $resource->data); } return $config; }