public function GraphvizDumper::dump in Service Container 7.2
Same name and namespace in other branches
- 7 modules/providers/service_container_symfony/lib/Symfony/Component/DependencyInjection/Dumper/GraphvizDumper.php \Symfony\Component\DependencyInjection\Dumper\GraphvizDumper::dump()
Dumps the service container as a graphviz graph.
Available options:
- graph: The default options for the whole graph
- node: The default options for nodes
- edge: The default options for edges
- node.instance: The default options for services that are defined directly by object instances
- node.definition: The default options for services that are defined via service definition instances
- node.missing: The default options for missing services
Parameters
array $options An array of options:
Return value
string The dot representation of the service container
Overrides DumperInterface::dump
File
- modules/
providers/ service_container_symfony/ lib/ Symfony/ Component/ DependencyInjection/ Dumper/ GraphvizDumper.php, line 61
Class
- GraphvizDumper
- GraphvizDumper dumps a service container as a graphviz file.
Namespace
Symfony\Component\DependencyInjection\DumperCode
public function dump(array $options = array()) {
foreach (array(
'graph',
'node',
'edge',
'node.instance',
'node.definition',
'node.missing',
) as $key) {
if (isset($options[$key])) {
$this->options[$key] = array_merge($this->options[$key], $options[$key]);
}
}
$this->nodes = $this
->findNodes();
$this->edges = array();
foreach ($this->container
->getDefinitions() as $id => $definition) {
$this->edges[$id] = array_merge($this
->findEdges($id, $definition
->getArguments(), true, ''), $this
->findEdges($id, $definition
->getProperties(), false, ''));
foreach ($definition
->getMethodCalls() as $call) {
$this->edges[$id] = array_merge($this->edges[$id], $this
->findEdges($id, $call[1], false, $call[0] . '()'));
}
}
return $this
->startDot() . $this
->addNodes() . $this
->addEdges() . $this
->endDot();
}