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
File
-
vendor/
symfony/ dependency-injection/ Loader/ Configurator/ ContainerConfigurator.php, line 30
Namespace
Symfony\Component\DependencyInjection\Loader\ConfiguratorView 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;
}
}