Development

Changeset 19676 for components/dependency_injection

You must first sign up to be able to contribute.

Show
Ignore:
Timestamp:
06/29/09 16:03:06 (4 years ago)
Author:
fabien
Message:

[dependency_injection] fixed the Graphviz dumper when some services do not exist

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • components/dependency_injection/trunk/lib/sfServiceContainerDumperGraphviz.php

    r16896 r19676  
    127127  { 
    128128    $nodes = array(); 
    129     foreach ($this->container as $id => $service) 
     129 
     130    $container = clone $this->container; 
     131 
     132    foreach ($container->getServiceDefinitions() as $id => $definition) 
    130133    { 
    131       if (!$this->container->hasServiceDefinition($id)) 
     134      $nodes[$id] = array('class' => $this->getValue($definition->getClass()), 'attributes' => array_merge($this->options['node.definition'], array('style' => $definition->isShared() ? 'filled' : 'dotted'))); 
     135 
     136      $container->setServiceDefinition($id, new sfServiceDefinition('stdClass')); 
     137    } 
     138 
     139    foreach ($container as $id => $service) 
     140    { 
     141      if (!$container->hasServiceDefinition($id)) 
    132142      { 
    133143        $nodes[$id] = array('class' => get_class($service), 'attributes' => $this->options['node.instance']); 
    134144      } 
    135     } 
    136  
    137     foreach ($this->container->getServiceDefinitions() as $id => $definition) 
    138     { 
    139       $nodes[$id] = array('class' => $this->getValue($definition->getClass()), 'attributes' => array_merge($this->options['node.definition'], array('style' => $definition->isShared() ? 'filled' : 'dotted'))); 
    140145    } 
    141146