From 5e8d401008f38b98ea7235b95a4630ada0b898c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Je=CC=81ro=CC=82me=20Vieilledent?= Date: Thu, 22 Nov 2012 00:15:19 +0100 Subject: [PATCH] Implemented possibility to skip key normalization in config processing --- .../Component/Config/Definition/Processor.php | 12 ++++++++---- .../HttpKernel/DependencyInjection/Extension.php | 4 ++-- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/Symfony/Component/Config/Definition/Processor.php b/src/Symfony/Component/Config/Definition/Processor.php index 3b00c7e4c05d..10aca917c5f1 100644 --- a/src/Symfony/Component/Config/Definition/Processor.php +++ b/src/Symfony/Component/Config/Definition/Processor.php @@ -23,12 +23,15 @@ class Processor * * @param NodeInterface $configTree The node tree describing the configuration * @param array $configs An array of configuration items to process + * @param bool $normalizeKeys Flag indicating if config key normalization is needed. True by default. * * @return array The processed configuration */ - public function process(NodeInterface $configTree, array $configs) + public function process(NodeInterface $configTree, array $configs, $normalizeKeys = true) { - $configs = self::normalizeKeys($configs); + if ($normalizeKeys) { + $configs = self::normalizeKeys($configs); + } $currentConfig = array(); foreach ($configs as $config) { @@ -44,12 +47,13 @@ public function process(NodeInterface $configTree, array $configs) * * @param ConfigurationInterface $configuration The configuration class * @param array $configs An array of configuration items to process + * @param bool $normalizeKeys Flag indicating if config key normalization is needed. True by default. * * @return array The processed configuration */ - public function processConfiguration(ConfigurationInterface $configuration, array $configs) + public function processConfiguration(ConfigurationInterface $configuration, array $configs, $normalizeKeys = true) { - return $this->process($configuration->getConfigTreeBuilder()->buildTree(), $configs); + return $this->process($configuration->getConfigTreeBuilder()->buildTree(), $configs, $normalizeKeys); } /** diff --git a/src/Symfony/Component/HttpKernel/DependencyInjection/Extension.php b/src/Symfony/Component/HttpKernel/DependencyInjection/Extension.php index 5c8d5e69ad2a..418a4eb669fb 100644 --- a/src/Symfony/Component/HttpKernel/DependencyInjection/Extension.php +++ b/src/Symfony/Component/HttpKernel/DependencyInjection/Extension.php @@ -96,11 +96,11 @@ public function getAlias() return Container::underscore($classBaseName); } - final protected function processConfiguration(ConfigurationInterface $configuration, array $configs) + final protected function processConfiguration(ConfigurationInterface $configuration, array $configs, $normalizeKeys = true) { $processor = new Processor(); - return $processor->processConfiguration($configuration, $configs); + return $processor->processConfiguration($configuration, $configs, $normalizeKeys); } /**