Symfony\Component\HttpKernel\Kernel::buildContainer PHP Method

buildContainer() protected method

protected buildContainer ( $class, $file )
    protected function buildContainer($class, $file)
    {
        $parameterBag = new ParameterBag($this->getKernelParameters());

        $container = new ContainerBuilder($parameterBag);
        foreach ($this->bundles as $bundle) {
            $bundle->registerExtensions($container);

            if ($this->debug) {
                $container->addObjectResource($bundle);
            }
        }

        if (null !== $cont = $this->registerContainerConfiguration($this->getContainerLoader($container))) {
            $container->merge($cont);
        }
        $container->freeze();

        foreach (array('cache', 'logs') as $name) {
            $dir = $container->getParameter(sprintf('kernel.%s_dir', $name));
            if (!is_dir($dir)) {
                if (false === @mkdir($dir, 0777, true)) {
                    die(sprintf('Unable to create the %s directory (%s)', $name, dirname($dir)));
                }
            } elseif (!is_writable($dir)) {
                die(sprintf('Unable to write in the %s directory (%s)', $name, $dir));
            }
        }

        // cache the container
        $dumper = new PhpDumper($container);
        $content = $dumper->dump(array('class' => $class));
        if (!$this->debug) {
            $content = self::stripComments($content);
        }
        $this->writeCacheFile($file, $content);

        if ($this->debug) {
            $container->addObjectResource($this);

            // save the resources
            $this->writeCacheFile($this->getCacheDir().'/'.$class.'.meta', serialize($container->getResources()));
        }
    }

Same methods

Kernel::buildContainer ( ) : ContainerBuilder

Usage Example

Ejemplo n.º 1
0
 protected function buildContainer()
 {
     $builder = parent::buildContainer();
     $serviceContainer = new ServiceContainer($builder);
     $this->dumplieKernel->build($serviceContainer);
     return $builder;
 }
All Usage Examples Of Symfony\Component\HttpKernel\Kernel::buildContainer