function ContainerBuilder::set
Same name in this branch
- 11.1.x core/lib/Drupal/Core/DependencyInjection/ContainerBuilder.php \Drupal\Core\DependencyInjection\ContainerBuilder::set()
Sets a service.
Throws
BadMethodCallException When this ContainerBuilder is compiled
Overrides Container::set
1 method overrides ContainerBuilder::set()
- ContainerBuilder::set in core/
lib/ Drupal/ Core/ DependencyInjection/ ContainerBuilder.php - Overrides Symfony\Component\DependencyInjection\ContainerBuilder::set().
File
-
vendor/
symfony/ dependency-injection/ ContainerBuilder.php, line 527
Class
- ContainerBuilder
- ContainerBuilder is a DI container that provides an API to easily describe services.
Namespace
Symfony\Component\DependencyInjectionCode
public function set(string $id, ?object $service) : void {
if ($this->isCompiled() && (isset($this->definitions[$id]) && !$this->definitions[$id]
->isSynthetic())) {
// setting a synthetic service on a compiled container is alright
throw new BadMethodCallException(\sprintf('Setting service "%s" for an unknown or non-synthetic service definition on a compiled container is not allowed.', $id));
}
unset($this->definitions[$id], $this->aliasDefinitions[$id], $this->removedIds[$id]);
parent::set($id, $service);
}