function GraphvizDumper::findNodes
1 call to GraphvizDumper::findNodes()
- GraphvizDumper::dump in vendor/
symfony/ dependency-injection/ Dumper/ GraphvizDumper.php - Dumps the service container as a graphviz graph.
File
-
vendor/
symfony/ dependency-injection/ Dumper/ GraphvizDumper.php, line 149
Class
- GraphvizDumper
- GraphvizDumper dumps a service container as a graphviz file.
Namespace
Symfony\Component\DependencyInjection\DumperCode
private function findNodes() : array {
$nodes = [];
$container = $this->cloneContainer();
foreach ($container->getDefinitions() as $id => $definition) {
$class = $definition->getClass();
if (str_starts_with($class, '\\')) {
$class = substr($class, 1);
}
try {
$class = $this->container
->getParameterBag()
->resolveValue($class);
} catch (ParameterNotFoundException) {
}
$nodes[$id] = [
'class' => str_replace('\\', '\\\\', $class),
'attributes' => array_merge($this->options['node.definition'], [
'style' => $definition->isShared() ? 'filled' : 'dotted',
]),
];
$container->setDefinition($id, new Definition('stdClass'));
}
foreach ($container->getServiceIds() as $id) {
if (\array_key_exists($id, $container->getAliases())) {
continue;
}
if (!$container->hasDefinition($id)) {
$nodes[$id] = [
'class' => str_replace('\\', '\\\\', $container->get($id)::class),
'attributes' => $this->options['node.instance'],
];
}
}
return $nodes;
}