function ContainerBuilder::findDefinition
Gets a service definition by id or alias.
The method "unaliases" recursively to return a Definition instance.
Throws
ServiceNotFoundException if the service definition does not exist
File
-
vendor/
symfony/ dependency-injection/ ContainerBuilder.php, line 1055
Class
- ContainerBuilder
- ContainerBuilder is a DI container that provides an API to easily describe services.
Namespace
Symfony\Component\DependencyInjectionCode
public function findDefinition(string $id) : Definition {
$seen = [];
while (isset($this->aliasDefinitions[$id])) {
$id = (string) $this->aliasDefinitions[$id];
if (isset($seen[$id])) {
$seen = array_values($seen);
$seen = \array_slice($seen, array_search($id, $seen));
$seen[] = $id;
throw new ServiceCircularReferenceException($id, $seen);
}
$seen[$id] = $id;
}
return $this->getDefinition($id);
}