public function 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

drupal/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/GraphvizDumper.php, line 57

Class

GraphvizDumper
GraphvizDumper dumps a service container as a graphviz file.

Namespace

Symfony\Component\DependencyInjection\Dumper

Code

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();
}