From ef57204cd5c8abcbcac11e24359097856be9e7e2 Mon Sep 17 00:00:00 2001 From: Kevin Bond Date: Tue, 8 Apr 2014 14:41:46 -0400 Subject: [PATCH] enable dumping of config --- DependencyInjection/KnpGaufretteExtension.php | 27 ++++++++++++------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/DependencyInjection/KnpGaufretteExtension.php b/DependencyInjection/KnpGaufretteExtension.php index d920810..5958a6a 100644 --- a/DependencyInjection/KnpGaufretteExtension.php +++ b/DependencyInjection/KnpGaufretteExtension.php @@ -28,21 +28,15 @@ class KnpGaufretteExtension extends Extension public function load(array $configs, ContainerBuilder $container) { $processor = new Processor(); - - // first assemble the adapter factories - $factoryConfig = new FactoryConfiguration(); - $config = $processor->processConfiguration($factoryConfig, $configs); - $factories = $this->createAdapterFactories($config, $container); - - // then normalize the configs - $mainConfig = new MainConfiguration($factories); - $config = $processor->processConfiguration($mainConfig, $configs); + $config = $processor->processConfiguration($this->getConfiguration($configs, $container), $configs); $loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config')); $loader->load('gaufrette.xml'); + $adapters = array(); + foreach ($config['adapters'] as $name => $adapter) { - $adapters[$name] = $this->createAdapter($name, $adapter, $container, $factories); + $adapters[$name] = $this->createAdapter($name, $adapter, $container, $this->factories); } $map = array(); @@ -59,6 +53,19 @@ class KnpGaufretteExtension extends Extension } } + public function getConfiguration(array $configs, ContainerBuilder $container) + { + $processor = new Processor(); + + // first assemble the adapter factories + $factoryConfig = new FactoryConfiguration(); + $config = $processor->processConfiguration($factoryConfig, $configs); + $factories = $this->createAdapterFactories($config, $container); + + // then normalize the configs + return new MainConfiguration($factories); + } + private function createAdapter($name, array $config, ContainerBuilder $container, array $factories) { $adapter = null;