function ContainerBuilder::setDefinition
Sets a service definition.
Throws
BadMethodCallException When this ContainerBuilder is compiled
7 calls to ContainerBuilder::setDefinition()
- ContainerBuilder::addDefinitions in vendor/
symfony/ dependency-injection/ ContainerBuilder.php - Adds the service definitions.
- ContainerBuilder::autowire in vendor/
symfony/ dependency-injection/ ContainerBuilder.php - Registers an autowired service definition.
- ContainerBuilder::merge in vendor/
symfony/ dependency-injection/ ContainerBuilder.php - Merges a ContainerBuilder with the current ContainerBuilder configuration.
- ContainerBuilder::register in vendor/
symfony/ dependency-injection/ ContainerBuilder.php - Registers a service definition.
- ContainerBuilder::register in core/
lib/ Drupal/ Core/ DependencyInjection/ ContainerBuilder.php - Registers a service definition.
File
-
vendor/
symfony/ dependency-injection/ ContainerBuilder.php, line 1011
Class
- ContainerBuilder
- ContainerBuilder is a DI container that provides an API to easily describe services.
Namespace
Symfony\Component\DependencyInjectionCode
public function setDefinition(string $id, Definition $definition) : Definition {
if ($this->isCompiled()) {
throw new BadMethodCallException('Adding definition to a compiled container is not allowed.');
}
if ('' === $id || '\\' === $id[-1] || \strlen($id) !== strcspn($id, "\x00\r\n'")) {
throw new InvalidArgumentException(\sprintf('Invalid service id: "%s".', $id));
}
unset($this->aliasDefinitions[$id], $this->removedIds[$id]);
return $this->definitions[$id] = $definition;
}