function PhpDumper::addServices
1 call to PhpDumper::addServices()
- PhpDumper::dump in vendor/
symfony/ dependency-injection/ Dumper/ PhpDumper.php - Dumps the service container as a PHP class.
File
-
vendor/
symfony/ dependency-injection/ Dumper/ PhpDumper.php, line 1096
Class
- PhpDumper
- PhpDumper dumps a service container as a PHP class.
Namespace
Symfony\Component\DependencyInjection\DumperCode
private function addServices(?array &$services = null) : string {
$publicServices = $privateServices = '';
$definitions = $this->container
->getDefinitions();
ksort($definitions);
foreach ($definitions as $id => $definition) {
if (!$definition->isSynthetic()) {
$services[$id] = $this->addService($id, $definition);
}
elseif ($definition->hasTag($this->hotPathTag) || !$definition->hasTag($this->preloadTags[1])) {
$services[$id] = null;
foreach ($this->getClasses($definition, $id) as $class) {
$this->preload[$class] = $class;
}
}
}
foreach ($definitions as $id => $definition) {
if (!([
$file,
$code,
] = $services[$id]) || null !== $file) {
continue;
}
if ($definition->isPublic()) {
$publicServices .= $code;
}
elseif (!$this->isTrivialInstance($definition) || isset($this->locatedIds[$id])) {
$privateServices .= $code;
}
}
return $publicServices . $privateServices;
}