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

buildContainer() protected method

Builds the service container.
protected buildContainer ( ) : ContainerBuilder
return Symfony\Component\DependencyInjection\ContainerBuilder The compiled service container
    protected function buildContainer()
    {
        foreach (array('cache' => $this->getCacheDir(), 'logs' => $this->getLogDir()) as $name => $dir) {
            if (!is_dir($dir)) {
                if (false === @mkdir($dir, 0777, true)) {
                    throw new \RuntimeException(sprintf("Unable to create the %s directory (%s)\n", $name, dirname($dir)));
                }
            } elseif (!is_writable($dir)) {
                throw new \RuntimeException(sprintf("Unable to write in the %s directory (%s)\n", $name, $dir));
            }
        }

        $container = new ContainerBuilder(new ParameterBag($this->getKernelParameters()));
        $extensions = array();
        foreach ($this->bundles as $bundle) {
            $bundle->build($container);

            if ($extension = $bundle->getContainerExtension()) {
                $container->registerExtension($extension);
                $extensions[] = $extension->getAlias();
            }

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

        // ensure these extensions are implicitly loaded
        $container->getCompilerPassConfig()->setMergePass(new MergeExtensionConfigurationPass($extensions));

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

        $container->addCompilerPass(new AddClassesToCachePass($this));
        $container->compile();

        return $container;
    }

Same methods

Kernel::buildContainer ( $class, $file )

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