浏览代码

merged branch arnaud-lb/issues/1598 (PR #1603)

Commits
-------

e6a2d76 delay resolving values of extensions config until all files are loaded

Discussion
----------

[DependencyInjection] Delay resolving values of extensions' config until all files are loaded

This addresses #1598.

This delays resolving of extensions' configuration until all files are loaded. Without this, overriding parameters do not work for extensions.
Fabien Potencier 14 年之前
父节点
当前提交
21c80df3a1

+ 1 - 0
src/Symfony/Component/DependencyInjection/Compiler/MergeExtensionConfigurationPass.php

@@ -34,6 +34,7 @@ class MergeExtensionConfigurationPass implements CompilerPassInterface
                 // this extension was not called
                 continue;
             }
+            $config = $container->getParameterBag()->resolveValue($config);
 
             $tmpContainer = new ContainerBuilder($container->getParameterBag());
             $tmpContainer->addObjectResource($extension);

+ 1 - 1
src/Symfony/Component/DependencyInjection/ContainerBuilder.php

@@ -143,7 +143,7 @@ class ContainerBuilder extends Container implements TaggedContainerInterface
 
         $namespace = $this->getExtension($extension)->getAlias();
 
-        $this->extensionConfigs[$namespace][] = $this->getParameterBag()->resolveValue($values);
+        $this->extensionConfigs[$namespace][] = $values;
 
         return $this;
     }