diff --git a/src/Symfony/Component/HttpKernel/Kernel.php b/src/Symfony/Component/HttpKernel/Kernel.php index a758242faf..8a2da2f19f 100644 --- a/src/Symfony/Component/HttpKernel/Kernel.php +++ b/src/Symfony/Component/HttpKernel/Kernel.php @@ -435,6 +435,18 @@ abstract class Kernel implements KernelInterface return $this->name.ucfirst($this->environment).($this->debug ? 'Debug' : '').'ProjectContainer'; } + /** + * Gets the container's base class. + * + * All names except Container must be fully qualified. + * + * @return string + */ + protected function getContainerBaseClass() + { + return 'Container'; + } + /** * Initializes the service container. * @@ -448,7 +460,7 @@ abstract class Kernel implements KernelInterface $fresh = true; if (!$cache->isFresh()) { $container = $this->buildContainer(); - $this->dumpContainer($cache, $container, $class); + $this->dumpContainer($cache, $container, $class, $this->getContainerBaseClass()); $fresh = false; } @@ -556,12 +568,13 @@ abstract class Kernel implements KernelInterface * @param ConfigCache $cache The config cache * @param ContainerBuilder $container The service container * @param string $class The name of the class to generate + * @param string $baseClass The name of the container's base class */ - protected function dumpContainer(ConfigCache $cache, ContainerBuilder $container, $class) + protected function dumpContainer(ConfigCache $cache, ContainerBuilder $container, $class, $baseClass) { // cache the container $dumper = new PhpDumper($container); - $content = $dumper->dump(array('class' => $class)); + $content = $dumper->dump(array('class' => $class, 'base_class' => $baseClass)); if (!$this->debug) { $content = self::stripComments($content); }