소스 검색

changed the BundleInterface::buildContainer() signature

Fabien Potencier 15 년 전
부모
커밋
0163178f7b

+ 10 - 10
src/Symfony/Bundle/DoctrineBundle/DoctrineBundle.php

@@ -3,7 +3,7 @@
 namespace Symfony\Bundle\DoctrineBundle;
 
 use Symfony\Framework\Bundle\Bundle;
-use Symfony\Components\DependencyInjection\ContainerInterface;
+use Symfony\Components\DependencyInjection\ParameterBag\ParameterBagInterface;
 use Symfony\Components\DependencyInjection\Loader\Loader;
 use Symfony\Components\DependencyInjection\Loader\XmlFileLoader;
 use Symfony\Bundle\DoctrineBundle\DependencyInjection\DoctrineExtension;
@@ -30,18 +30,18 @@ class DoctrineBundle extends Bundle
     /**
      * Customizes the Container instance.
      *
-     * @param Symfony\Components\DependencyInjection\ContainerInterface $container A ContainerInterface instance
+     * @param \Symfony\Components\DependencyInjection\ParameterBag\ParameterBagInterface $parameterBag A ParameterBagInterface instance
      *
-     * @return Symfony\Components\DependencyInjection\BuilderConfiguration A BuilderConfiguration instance
+     * @return \Symfony\Components\DependencyInjection\BuilderConfiguration A BuilderConfiguration instance
      */
-    public function buildContainer(ContainerInterface $container)
+    public function buildContainer(ParameterBagInterface $parameterBag)
     {
-        Loader::registerExtension(new DoctrineExtension($container->getParameter('kernel.bundle_dirs'), $container->getParameter('kernel.bundles')));
+        Loader::registerExtension(new DoctrineExtension($parameterBag->get('kernel.bundle_dirs'), $parameterBag->get('kernel.bundles')));
 
         $metadataDirs = array();
         $entityDirs = array();
-        $bundleDirs = $container->getParameter('kernel.bundle_dirs');
-        foreach ($container->getParameter('kernel.bundles') as $className) {
+        $bundleDirs = $parameterBag->get('kernel.bundle_dirs');
+        foreach ($parameterBag->get('kernel.bundles') as $className) {
             $tmp = dirname(str_replace('\\', '/', $className));
             $namespace = str_replace('/', '\\', dirname($tmp));
             $class = basename($tmp);
@@ -55,7 +55,7 @@ class DoctrineBundle extends Bundle
                 }
             }
         }
-        $container->setParameter('doctrine.orm.metadata_driver.mapping_dirs', $metadataDirs);
-        $container->setParameter('doctrine.orm.entity_dirs', $entityDirs);
+        $parameterBag->set('doctrine.orm.metadata_driver.mapping_dirs', $metadataDirs);
+        $parameterBag->set('doctrine.orm.entity_dirs', $entityDirs);
     }
-}
+}

+ 10 - 3
src/Symfony/Bundle/DoctrineMongoDBBundle/DoctrineMongoDBBundle.php

@@ -3,7 +3,7 @@
 namespace Symfony\Bundle\DoctrineMongoDBBundle;
 
 use Symfony\Framework\Bundle\Bundle;
-use Symfony\Components\DependencyInjection\ContainerInterface;
+use Symfony\Components\DependencyInjection\ParameterBag\ParameterBagInterface;
 use Symfony\Components\DependencyInjection\Loader\Loader;
 use Symfony\Bundle\DoctrineMongoDBBundle\DependencyInjection\MongoDBExtension;
 
@@ -16,8 +16,15 @@ use Symfony\Bundle\DoctrineMongoDBBundle\DependencyInjection\MongoDBExtension;
  */
 class DoctrineMongoDBBundle extends Bundle 
 {
-    public function buildContainer(ContainerInterface $container) 
+    /**
+     * Customizes the Container instance.
+     *
+     * @param \Symfony\Components\DependencyInjection\ParameterBag\ParameterBagInterface $parameterBag A ParameterBagInterface instance
+     *
+     * @return \Symfony\Components\DependencyInjection\BuilderConfiguration A BuilderConfiguration instance
+     */
+    public function buildContainer(ParameterBagInterface $parameterBag)
     {
-        Loader::registerExtension(new MongoDBExtension($container->getParameter('kernel.bundles')));
+        Loader::registerExtension(new MongoDBExtension($parameterBag->get('kernel.bundles')));
     }
 }

+ 8 - 8
src/Symfony/Bundle/FrameworkBundle/FrameworkBundle.php

@@ -3,7 +3,7 @@
 namespace Symfony\Bundle\FrameworkBundle;
 
 use Symfony\Framework\Bundle\Bundle;
-use Symfony\Components\DependencyInjection\ContainerInterface;
+use Symfony\Components\DependencyInjection\ParameterBag\ParameterBagInterface;
 use Symfony\Components\DependencyInjection\Loader\Loader;
 use Symfony\Components\DependencyInjection\Loader\XmlFileLoader;
 use Symfony\Components\DependencyInjection\BuilderConfiguration;
@@ -30,22 +30,22 @@ class FrameworkBundle extends Bundle
     /**
      * Customizes the Container instance.
      *
-     * @param Symfony\Components\DependencyInjection\ContainerInterface $container A ContainerInterface instance
+     * @param \Symfony\Components\DependencyInjection\ParameterBag\ParameterBagInterface $parameterBag A ParameterBagInterface instance
      *
-     * @return Symfony\Components\DependencyInjection\BuilderConfiguration A BuilderConfiguration instance
+     * @return \Symfony\Components\DependencyInjection\BuilderConfiguration A BuilderConfiguration instance
      */
-    public function buildContainer(ContainerInterface $container)
+    public function buildContainer(ParameterBagInterface $parameterBag)
     {
-        Loader::registerExtension(new WebExtension($container->getParameter('kernel.bundle_dirs'), $container->getParameter('kernel.bundles')));
+        Loader::registerExtension(new WebExtension($parameterBag->get('kernel.bundle_dirs'), $parameterBag->get('kernel.bundles')));
 
         $dirs = array('%kernel.root_dir%/views/%%bundle%%/%%controller%%/%%name%%%%format%%.%%renderer%%');
-        foreach ($container->getParameter('kernel.bundle_dirs') as $dir) {
+        foreach ($parameterBag->get('kernel.bundle_dirs') as $dir) {
             $dirs[] = $dir.'/%%bundle%%/Resources/views/%%controller%%/%%name%%%%format%%.%%renderer%%';
         }
-        $container->setParameter('templating.loader.filesystem.path', $dirs);
+        $parameterBag->set('templating.loader.filesystem.path', $dirs);
 
         $configuration = new BuilderConfiguration();
-        if ($container->getParameter('kernel.debug')) {
+        if ($parameterBag->get('kernel.debug')) {
             $loader = new XmlFileLoader(__DIR__.'/Resources/config');
             $configuration->merge($loader->load('debug.xml'));
         }

+ 1 - 0
src/Symfony/Bundle/FrameworkBundle/Resources/skeleton/bundle/Bundle.php

@@ -4,6 +4,7 @@ namespace {{ namespace }}\{{ bundle }};
 
 use Symfony\Framework\Bundle\Bundle;
 use Symfony\Components\DependencyInjection\ContainerInterface;
+use Symfony\Components\DependencyInjection\ParameterBag\ParameterBagInterface;
 
 class {{ bundle }} extends Bundle
 {

+ 9 - 1
src/Symfony/Bundle/PropelBundle/PropelBundle.php

@@ -3,6 +3,7 @@
 namespace Symfony\Bundle\PropelBundle;
 
 use Symfony\Framework\Bundle\Bundle;
+use Symfony\Components\DependencyInjection\ParameterBag\ParameterBagInterface;
 use Symfony\Components\DependencyInjection\ContainerInterface;
 use Symfony\Components\DependencyInjection\Loader\Loader;
 use Symfony\Components\DependencyInjection\Loader\XmlFileLoader;
@@ -10,7 +11,14 @@ use Symfony\Bundle\PropelBundle\DependencyInjection\PropelExtension;
 
 class PropelBundle extends Bundle
 {
-    public function buildContainer(ContainerInterface $container)
+    /**
+     * Customizes the Container instance.
+     *
+     * @param \Symfony\Components\DependencyInjection\ParameterBag\ParameterBagInterface $parameterBag A ParameterBagInterface instance
+     *
+     * @return \Symfony\Components\DependencyInjection\BuilderConfiguration A BuilderConfiguration instance
+     */
+    public function buildContainer(ParameterBagInterface $parameterBag)
     {
         Loader::registerExtension(new PropelExtension());
     }

+ 4 - 4
src/Symfony/Bundle/SwiftmailerBundle/SwiftmailerBundle.php

@@ -3,7 +3,7 @@
 namespace Symfony\Bundle\SwiftmailerBundle;
 
 use Symfony\Framework\Bundle\Bundle;
-use Symfony\Components\DependencyInjection\ContainerInterface;
+use Symfony\Components\DependencyInjection\ParameterBag\ParameterBagInterface;
 use Symfony\Components\DependencyInjection\Loader\Loader;
 use Symfony\Bundle\SwiftmailerBundle\DependencyInjection\SwiftmailerExtension;
 
@@ -28,11 +28,11 @@ class SwiftmailerBundle extends Bundle
     /**
      * Customizes the Container instance.
      *
-     * @param Symfony\Components\DependencyInjection\ContainerInterface $container A ContainerInterface instance
+     * @param \Symfony\Components\DependencyInjection\ParameterBag\ParameterBagInterface $parameterBag A ParameterBagInterface instance
      *
-     * @return Symfony\Components\DependencyInjection\BuilderConfiguration A BuilderConfiguration instance
+     * @return \Symfony\Components\DependencyInjection\BuilderConfiguration A BuilderConfiguration instance
      */
-    public function buildContainer(ContainerInterface $container)
+    public function buildContainer(ParameterBagInterface $parameterBag)
     {
         Loader::registerExtension(new SwiftmailerExtension());
     }

+ 4 - 4
src/Symfony/Bundle/TwigBundle/TwigBundle.php

@@ -3,7 +3,7 @@
 namespace Symfony\Bundle\TwigBundle;
 
 use Symfony\Framework\Bundle\Bundle;
-use Symfony\Components\DependencyInjection\ContainerInterface;
+use Symfony\Components\DependencyInjection\ParameterBag\ParameterBagInterface;
 use Symfony\Components\DependencyInjection\Loader\Loader;
 use Symfony\Components\DependencyInjection\Loader\XmlFileLoader;
 use Symfony\Components\DependencyInjection\BuilderConfiguration;
@@ -30,11 +30,11 @@ class TwigBundle extends Bundle
     /**
      * Customizes the Container instance.
      *
-     * @param Symfony\Components\DependencyInjection\ContainerInterface $container A ContainerInterface instance
+     * @param \Symfony\Components\DependencyInjection\ParameterBag\ParameterBagInterface $parameterBag A ParameterBagInterface instance
      *
-     * @return Symfony\Components\DependencyInjection\BuilderConfiguration A BuilderConfiguration instance
+     * @return \Symfony\Components\DependencyInjection\BuilderConfiguration A BuilderConfiguration instance
      */
-    public function buildContainer(ContainerInterface $container)
+    public function buildContainer(ParameterBagInterface $parameterBag)
     {
         Loader::registerExtension(new TwigExtension());
     }

+ 4 - 4
src/Symfony/Bundle/ZendBundle/ZendBundle.php

@@ -3,7 +3,7 @@
 namespace Symfony\Bundle\ZendBundle;
 
 use Symfony\Framework\Bundle\Bundle;
-use Symfony\Components\DependencyInjection\ContainerInterface;
+use Symfony\Components\DependencyInjection\ParameterBag\ParameterBagInterface;
 use Symfony\Components\DependencyInjection\Reference;
 use Symfony\Components\DependencyInjection\Loader\Loader;
 use Symfony\Bundle\ZendBundle\DependencyInjection\ZendExtension;
@@ -29,11 +29,11 @@ class ZendBundle extends Bundle
     /**
      * Customizes the Container instance.
      *
-     * @param Symfony\Components\DependencyInjection\ContainerInterface $container A ContainerInterface instance
+     * @param \Symfony\Components\DependencyInjection\ParameterBag\ParameterBagInterface $parameterBag A ParameterBagInterface instance
      *
-     * @return Symfony\Components\DependencyInjection\BuilderConfiguration A BuilderConfiguration instance
+     * @return \Symfony\Components\DependencyInjection\BuilderConfiguration A BuilderConfiguration instance
      */
-    public function buildContainer(ContainerInterface $container)
+    public function buildContainer(ParameterBagInterface $parameterBag)
     {
         Loader::registerExtension(new ZendExtension());
     }

+ 6 - 5
src/Symfony/Framework/Bundle/Bundle.php

@@ -3,6 +3,7 @@
 namespace Symfony\Framework\Bundle;
 
 use Symfony\Components\DependencyInjection\ContainerInterface;
+use Symfony\Components\DependencyInjection\ParameterBag\ParameterBagInterface;
 use Symfony\Components\Console\Application;
 
 /*
@@ -31,18 +32,18 @@ abstract class Bundle implements BundleInterface
     /**
      * Customizes the Container instance.
      *
-     * @param Symfony\Components\DependencyInjection\ContainerInterface $container A ContainerInterface instance
+     * @param \Symfony\Components\DependencyInjection\ParameterBag\ParameterBagInterface $parameterBag A ParameterBagInterface instance
      *
-     * @return Symfony\Components\DependencyInjection\BuilderConfiguration A BuilderConfiguration instance
+     * @return \Symfony\Components\DependencyInjection\BuilderConfiguration A BuilderConfiguration instance
      */
-    public function buildContainer(ContainerInterface $container)
+    public function buildContainer(ParameterBagInterface $parameterBag)
     {
     }
 
     /**
      * Boots the Bundle.
      *
-     * @param Symfony\Components\DependencyInjection\ContainerInterface $container A ContainerInterface instance
+     * @param \Symfony\Components\DependencyInjection\ContainerInterface $container A ContainerInterface instance
      */
     public function boot(ContainerInterface $container)
     {
@@ -51,7 +52,7 @@ abstract class Bundle implements BundleInterface
     /**
      * Shutdowns the Bundle.
      *
-     * @param Symfony\Components\DependencyInjection\ContainerInterface $container A ContainerInterface instance
+     * @param \Symfony\Components\DependencyInjection\ContainerInterface $container A ContainerInterface instance
      */
     public function shutdown(ContainerInterface $container)
     {

+ 4 - 3
src/Symfony/Framework/Bundle/BundleInterface.php

@@ -3,6 +3,7 @@
 namespace Symfony\Framework\Bundle;
 
 use Symfony\Components\DependencyInjection\ContainerInterface;
+use Symfony\Components\DependencyInjection\ParameterBag\ParameterBagInterface;
 
 /*
  * This file is part of the Symfony framework.
@@ -25,11 +26,11 @@ interface BundleInterface
     /**
      * Customizes the Container instance.
      *
-     * @param Symfony\Components\DependencyInjection\ContainerInterface $container A ContainerInterface instance
+     * @param \Symfony\Components\DependencyInjection\ParameterBag\ParameterBagInterface $parameterBag A ParameterBagInterface instance
      *
-     * @return Symfony\Components\DependencyInjection\BuilderConfiguration A BuilderConfiguration instance
+     * @return \Symfony\Components\DependencyInjection\BuilderConfiguration A BuilderConfiguration instance
      */
-    public function buildContainer(ContainerInterface $container);
+    public function buildContainer(ParameterBagInterface $parameterBag);
 
     /**
      * Boots the Bundle.

+ 4 - 2
src/Symfony/Framework/Kernel.php

@@ -338,17 +338,19 @@ abstract class Kernel implements HttpKernelInterface, \Serializable
 
     protected function buildContainer($class, $file)
     {
-        $container = new Builder(new ParameterBag($this->getKernelParameters()));
+        $parameterBag = new ParameterBag($this->getKernelParameters());
 
         $configuration = new BuilderConfiguration();
         foreach ($this->bundles as $bundle) {
-            $configuration->merge($bundle->buildContainer($container));
+            $configuration->merge($bundle->buildContainer($parameterBag));
 
             if ($this->debug) {
                 $configuration->addObjectResource($bundle);
             }
         }
         $configuration->merge($this->registerContainerConfiguration());
+
+        $container = new Builder($parameterBag);
         $container->merge($configuration);
         $container->freeze();
 

+ 5 - 4
src/Symfony/Framework/KernelBundle.php

@@ -5,6 +5,7 @@ namespace Symfony\Framework;
 use Symfony\Framework\Bundle\Bundle;
 use Symfony\Framework\ClassCollectionLoader;
 use Symfony\Framework\DependencyInjection\KernelExtension;
+use Symfony\Components\DependencyInjection\ParameterBag\ParameterBagInterface;
 use Symfony\Components\DependencyInjection\ContainerInterface;
 use Symfony\Components\DependencyInjection\Loader\Loader;
 use Symfony\Components\DependencyInjection\Loader\XmlFileLoader;
@@ -31,11 +32,11 @@ class KernelBundle extends Bundle
     /**
      * Customizes the Container instance.
      *
-     * @param Symfony\Components\DependencyInjection\ContainerInterface $container A ContainerInterface instance
+     * @param \Symfony\Components\DependencyInjection\ParameterBag\ParameterBagInterface $parameterBag A ParameterBagInterface instance
      *
-     * @return Symfony\Components\DependencyInjection\BuilderConfiguration A BuilderConfiguration instance
+     * @return \Symfony\Components\DependencyInjection\BuilderConfiguration A BuilderConfiguration instance
      */
-    public function buildContainer(ContainerInterface $container)
+    public function buildContainer(ParameterBagInterface $parameterBag)
     {
         Loader::registerExtension(new KernelExtension());
 
@@ -44,7 +45,7 @@ class KernelBundle extends Bundle
         $loader = new XmlFileLoader(array(__DIR__.'/../Resources/config', __DIR__.'/Resources/config'));
         $configuration->merge($loader->load('services.xml'));
 
-        if ($container->getParameter('kernel.debug')) {
+        if ($parameterBag->get('kernel.debug')) {
             $configuration->merge($loader->load('debug.xml'));
             $configuration->setDefinition('event_dispatcher', $configuration->findDefinition('debug.event_dispatcher'));
         }

+ 9 - 10
src/Symfony/Framework/bootstrap.php

@@ -3,6 +3,7 @@
 namespace Symfony\Framework\Bundle;
 
 use Symfony\Components\DependencyInjection\ContainerInterface;
+use Symfony\Components\DependencyInjection\ParameterBag\ParameterBagInterface;
 use Symfony\Components\Console\Application;
 
 
@@ -16,7 +17,7 @@ abstract class Bundle implements BundleInterface
     protected $reflection;
 
     
-    public function buildContainer(ContainerInterface $container)
+    public function buildContainer(ParameterBagInterface $parameterBag)
     {
     }
 
@@ -110,6 +111,7 @@ abstract class Bundle implements BundleInterface
 namespace Symfony\Framework\Bundle;
 
 use Symfony\Components\DependencyInjection\ContainerInterface;
+use Symfony\Components\DependencyInjection\ParameterBag\ParameterBagInterface;
 
 
 
@@ -117,7 +119,7 @@ use Symfony\Components\DependencyInjection\ContainerInterface;
 interface BundleInterface
 {
     
-    public function buildContainer(ContainerInterface $container);
+    public function buildContainer(ParameterBagInterface $parameterBag);
 
     
     public function boot(ContainerInterface $container);
@@ -132,6 +134,7 @@ namespace Symfony\Framework;
 use Symfony\Framework\Bundle\Bundle;
 use Symfony\Framework\ClassCollectionLoader;
 use Symfony\Framework\DependencyInjection\KernelExtension;
+use Symfony\Components\DependencyInjection\ParameterBag\ParameterBagInterface;
 use Symfony\Components\DependencyInjection\ContainerInterface;
 use Symfony\Components\DependencyInjection\Loader\Loader;
 use Symfony\Components\DependencyInjection\Loader\XmlFileLoader;
@@ -143,7 +146,7 @@ use Symfony\Components\DependencyInjection\BuilderConfiguration;
 class KernelBundle extends Bundle
 {
     
-    public function buildContainer(ContainerInterface $container)
+    public function buildContainer(ParameterBagInterface $parameterBag)
     {
         Loader::registerExtension(new KernelExtension());
 
@@ -152,7 +155,7 @@ class KernelBundle extends Bundle
         $loader = new XmlFileLoader(array(__DIR__.'/../Resources/config', __DIR__.'/Resources/config'));
         $configuration->merge($loader->load('services.xml'));
 
-        if ($container->getParameter('kernel.debug')) {
+        if ($parameterBag->get('kernel.debug')) {
             $configuration->merge($loader->load('debug.xml'));
             $configuration->setDefinition('event_dispatcher', $configuration->findDefinition('debug.event_dispatcher'));
         }
@@ -183,10 +186,8 @@ use Symfony\Components\DependencyInjection\BuilderConfiguration;
 
 class KernelExtension extends LoaderExtension
 {
-    public function testLoad($config)
+    public function testLoad($config, BuilderConfiguration $configuration)
     {
-        $configuration = new BuilderConfiguration();
-
         $loader = new XmlFileLoader(array(__DIR__.'/../Resources/config', __DIR__.'/Resources/config'));
         $configuration->merge($loader->load('test.xml'));
         $configuration->setParameter('kernel.include_core_classes', false);
@@ -228,10 +229,8 @@ class KernelExtension extends LoaderExtension
         return $configuration;
     }
 
-    public function configLoad($config)
+    public function configLoad($config, BuilderConfiguration $configuration)
     {
-        $configuration = new BuilderConfiguration();
-
         if (isset($config['charset'])) {
             $configuration->setParameter('kernel.charset', $config['charset']);
         }