/** * Merge configuration into one config * * @param ContainerBuilder $container * @param string $name * @param array $config * * @throws \RuntimeException */ private function mergeConfigIntoOne(ContainerBuilder $container, $name, array $config = []) { if (!$container instanceof OroContainerBuilder) { throw new \RuntimeException(sprintf('%s is expected to be passed into OroPlatformExtension', 'Oro\\Bundle\\DistributionBundle\\DependencyInjection\\OroContainerBuilder')); } $originalConfig = $container->getExtensionConfig($name); if (!count($originalConfig)) { $originalConfig[] = array(); } $mergedConfig = array_merge_recursive($originalConfig[0], $config); $originalConfig[0] = $mergedConfig; $container->setExtensionConfig('security', $originalConfig); }
/** * Merge configuration into one config * * @param ContainerBuilder $container * @param string $name * @param array $config * * @throws \RuntimeException */ private function mergeConfigIntoOne(ContainerBuilder $container, $name, array $config = []) { if (!$container instanceof ExtendedContainerBuilder) { throw new \RuntimeException(sprintf('%s is expected to be passed into OroPlatformExtension', 'Oro\\Component\\DependencyInjection\\ExtendedContainerBuilder')); } $originalConfig = $container->getExtensionConfig($name); if (!count($originalConfig)) { $originalConfig[] = array(); } $mergedConfig = ArrayUtils::arrayMergeRecursiveDistinct($originalConfig[0], $config); $originalConfig[0] = $mergedConfig; $container->setExtensionConfig($name, $originalConfig); }