Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. ContainerConfigurator.php

class ContainerConfigurator

@author Nicolas Grekas <p@tchwork.com>

Hierarchy

  • class \Symfony\Component\DependencyInjection\Loader\Configurator\AbstractConfigurator
    • class \Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator extends \Symfony\Component\DependencyInjection\Loader\Configurator\AbstractConfigurator

Expanded class hierarchy of ContainerConfigurator

6 files declare their use of ContainerConfigurator
AbstractBundle.php in vendor/symfony/http-kernel/Bundle/AbstractBundle.php
AbstractExtension.php in vendor/symfony/dependency-injection/Extension/AbstractExtension.php
BundleExtension.php in vendor/symfony/http-kernel/Bundle/BundleExtension.php
ConfigurableExtensionInterface.php in vendor/symfony/dependency-injection/Extension/ConfigurableExtensionInterface.php
ExtensionTrait.php in vendor/symfony/dependency-injection/Extension/ExtensionTrait.php

... See full list

File

vendor/symfony/dependency-injection/Loader/Configurator/ContainerConfigurator.php, line 30

Namespace

Symfony\Component\DependencyInjection\Loader\Configurator
View source
class ContainerConfigurator extends AbstractConfigurator {
    public const FACTORY = 'container';
    private array $instanceof;
    private int $anonymousCount = 0;
    public function __construct(ContainerBuilder $container, PhpFileLoader $loader, array &$instanceof, string $path, string $file, ?string $env = null) {
        $this->instanceof =& $instanceof;
    }
    public final function extension(string $namespace, array $config, bool $prepend = false) : void {
        if ($prepend) {
            $this->container
                ->prependExtensionConfig($namespace, static::processValue($config));
            return;
        }
        if (!$this->container
            ->hasExtension($namespace)) {
            $extensions = array_filter(array_map(fn(ExtensionInterface $ext) => $ext->getAlias(), $this->container
                ->getExtensions()));
            throw new InvalidArgumentException(UndefinedExtensionHandler::getErrorMessage($namespace, $this->file, $namespace, $extensions));
        }
        $this->container
            ->loadFromExtension($namespace, static::processValue($config));
    }
    public final function import(string $resource, ?string $type = null, bool|string $ignoreErrors = false) : void {
        $this->loader
            ->setCurrentDir(\dirname($this->path));
        $this->loader
            ->import($resource, $type, $ignoreErrors, $this->file);
    }
    public final function parameters() : ParametersConfigurator {
        return new ParametersConfigurator($this->container);
    }
    public final function services() : ServicesConfigurator {
        return new ServicesConfigurator($this->container, $this->loader, $this->instanceof, $this->path, $this->anonymousCount);
    }
    
    /**
     * Get the current environment to be able to write conditional configuration.
     */
    public final function env() : ?string {
        return $this->env;
    }
    public final function withPath(string $path) : static {
        $clone = clone $this;
        $clone->path = $clone->file = $path;
        $clone->loader
            ->setCurrentDir(\dirname($path));
        return $clone;
    }

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title
AbstractConfigurator::$definition protected property @internal
AbstractConfigurator::$valuePreProcessor public static property
AbstractConfigurator::processValue public static function Checks that a value is valid, optionally replacing Definition and Reference configurators by their configure value.
AbstractConfigurator::__call public function
AbstractConfigurator::__sleep public function
AbstractConfigurator::__wakeup public function
ContainerConfigurator::$anonymousCount private property
ContainerConfigurator::$instanceof private property
ContainerConfigurator::env final public function Get the current environment to be able to write conditional configuration.
ContainerConfigurator::extension final public function
ContainerConfigurator::FACTORY public constant Overrides AbstractConfigurator::FACTORY
ContainerConfigurator::import final public function
ContainerConfigurator::parameters final public function
ContainerConfigurator::services final public function
ContainerConfigurator::withPath final public function
ContainerConfigurator::__construct public function

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal