[HttpKernel], [FrameworkBundle] added method getContainerClass and parameter kernel.container_class

This commit is contained in:
Martin Hason 2011-03-15 09:16:02 +01:00
parent 201cb65ecd
commit cef70893df
2 changed files with 22 additions and 13 deletions

View File

@ -41,10 +41,8 @@ class ContainerBuilderDebugDumpPass implements CompilerPassInterface
*/ */
static public function getBuilderCacheFilename(ContainerInterface $container) static public function getBuilderCacheFilename(ContainerInterface $container)
{ {
$name = $container->getParameter('kernel.name'); $class = $container->getParameter('kernel.container_class');
$env = ucfirst($container->getParameter('kernel.environment'));
$debug = $container->getParameter('kernel.debug') ? 'Debug' : '';
return $container->getParameter('kernel.cache_dir').'/'.$name.$env.$debug.'ProjectContainerBuilder.cache'; return $container->getParameter('kernel.cache_dir').'/'.$class.'Builder.cache';
} }
} }

View File

@ -397,9 +397,19 @@ abstract class Kernel implements KernelInterface
} }
/**
* Gets the container class.
*
* @return string The container class
*/
protected function getContainerClass()
{
return $this->name.ucfirst($this->environment).($this->debug ? 'Debug' : '').'ProjectContainer';
}
protected function initializeContainer() protected function initializeContainer()
{ {
$class = $this->name.ucfirst($this->environment).($this->debug ? 'Debug' : '').'ProjectContainer'; $class = $this->getContainerClass();
$cache = new ConfigCache($this->getCacheDir().'/'.$class.'.php', $this->debug); $cache = new ConfigCache($this->getCacheDir().'/'.$class.'.php', $this->debug);
$fresh = false; $fresh = false;
if (!$cache->isFresh()) { if (!$cache->isFresh()) {
@ -428,14 +438,15 @@ abstract class Kernel implements KernelInterface
return array_merge( return array_merge(
array( array(
'kernel.root_dir' => $this->rootDir, 'kernel.root_dir' => $this->rootDir,
'kernel.environment' => $this->environment, 'kernel.environment' => $this->environment,
'kernel.debug' => $this->debug, 'kernel.debug' => $this->debug,
'kernel.name' => $this->name, 'kernel.name' => $this->name,
'kernel.cache_dir' => $this->getCacheDir(), 'kernel.cache_dir' => $this->getCacheDir(),
'kernel.logs_dir' => $this->getLogDir(), 'kernel.logs_dir' => $this->getLogDir(),
'kernel.bundles' => $bundles, 'kernel.bundles' => $bundles,
'kernel.charset' => 'UTF-8', 'kernel.charset' => 'UTF-8',
'kernel.container_class' => $this->getContainerClass(),
), ),
$this->getEnvParameters() $this->getEnvParameters()
); );