瀏覽代碼

fixes a bug where getParameterBag() always returns null

Johannes Schmitt 14 年之前
父節點
當前提交
d0b056cce9
共有 1 個文件被更改,包括 13 次插入1 次删除
  1. 13 1
      src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php

+ 13 - 1
src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php

@@ -601,7 +601,7 @@ EOF;
      */
     private function startClass($class, $baseClass)
     {
-        $bagClass = $this->container->isFrozen() ? '' : 'use Symfony\Component\DependencyInjection\ParameterBag\\ParameterBag;';
+        $bagClass = $this->container->isFrozen() ? 'use Symfony\Component\DependencyInjection\ParameterBag\FrozenParameterBag;' : 'use Symfony\Component\DependencyInjection\ParameterBag\\ParameterBag;';
 
         return <<<EOF
 <?php
@@ -743,6 +743,18 @@ EOF;
     {
         throw new \LogicException('Impossible to call set() on a frozen ParameterBag.');
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    public function getParameterBag()
+    {
+        if (null === \$this->parameterBag) {
+        	\$this->parameterBag = new FrozenParameterBag(\$this->parameters);
+        }
+
+        return \$this->parameterBag;
+    }
 EOF;
         }