Symfony\Component\DependencyInjection\ContainerBuilder::resolveServices PHP Method

resolveServices() public method

Replaces service references by the real service instance and evaluates expressions.
public resolveServices ( mixed $value ) : mixed
$value mixed A value
return mixed The same value with all service references replaced by the real service instances and all expressions evaluated
    public function resolveServices($value)
    {
        if (is_array($value)) {
            foreach ($value as $k => $v) {
                $value[$k] = $this->resolveServices($v);
            }
        } elseif ($value instanceof Reference) {
            $value = $this->get((string) $value, $value->getInvalidBehavior());
        } elseif ($value instanceof Definition) {
            $value = $this->createService($value, null);
        } elseif ($value instanceof Expression) {
            $value = $this->getExpressionLanguage()->evaluate($value, array('container' => $this));
        }

        return $value;
    }

Usage Example

 /**
  * @covers Symfony\Component\DependencyInjection\ContainerBuilder::resolveServices
  */
 public function testResolveServices()
 {
     $builder = new ContainerBuilder();
     $builder->register('foo', 'FooClass');
     $this->assertEquals($builder->get('foo'), $builder->resolveServices(new Reference('foo')), '->resolveServices() resolves service references to service instances');
     $this->assertEquals(array('foo' => array('foo', $builder->get('foo'))), $builder->resolveServices(array('foo' => array('foo', new Reference('foo')))), '->resolveServices() resolves service references to service instances in nested arrays');
 }
All Usage Examples Of Symfony\Component\DependencyInjection\ContainerBuilder::resolveServices