Dumps the service container as a graphviz graph.
Available options:
array $options An array of options:
string The dot representation of the service container
Overrides DumperInterface::dump
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();
}