[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)
{
$name = $container->getParameter('kernel.name');
$env = ucfirst($container->getParameter('kernel.environment'));
$debug = $container->getParameter('kernel.debug') ? 'Debug' : '';
$class = $container->getParameter('kernel.container_class');
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()
{
$class = $this->name.ucfirst($this->environment).($this->debug ? 'Debug' : '').'ProjectContainer';
$class = $this->getContainerClass();
$cache = new ConfigCache($this->getCacheDir().'/'.$class.'.php', $this->debug);
$fresh = false;
if (!$cache->isFresh()) {
@ -436,6 +446,7 @@ abstract class Kernel implements KernelInterface
'kernel.logs_dir' => $this->getLogDir(),
'kernel.bundles' => $bundles,
'kernel.charset' => 'UTF-8',
'kernel.container_class' => $this->getContainerClass(),
),
$this->getEnvParameters()
);