3 use Symfony\Component\DependencyInjection\Argument\IteratorArgument;
4 use Symfony\Component\DependencyInjection\Argument\ServiceClosureArgument;
5 use Symfony\Component\DependencyInjection\ContainerBuilder;
6 use Symfony\Component\DependencyInjection\Reference;
8 $container = new ContainerBuilder();
11 ->register('foo1', 'stdClass')
16 ->register('foo2', 'stdClass')
21 ->register('foo3', 'stdClass')
26 ->register('baz', 'stdClass')
27 ->setProperty('foo3', new Reference('foo3'))
32 ->register('bar', 'stdClass')
33 ->setProperty('foo1', new Reference('foo1', $container::IGNORE_ON_UNINITIALIZED_REFERENCE))
34 ->setProperty('foo2', new Reference('foo2', $container::IGNORE_ON_UNINITIALIZED_REFERENCE))
35 ->setProperty('foo3', new Reference('foo3', $container::IGNORE_ON_UNINITIALIZED_REFERENCE))
36 ->setProperty('closures', array(
37 new ServiceClosureArgument(new Reference('foo1', $container::IGNORE_ON_UNINITIALIZED_REFERENCE)),
38 new ServiceClosureArgument(new Reference('foo2', $container::IGNORE_ON_UNINITIALIZED_REFERENCE)),
39 new ServiceClosureArgument(new Reference('foo3', $container::IGNORE_ON_UNINITIALIZED_REFERENCE)),
41 ->setProperty('iter', new IteratorArgument(array(
42 'foo1' => new Reference('foo1', $container::IGNORE_ON_UNINITIALIZED_REFERENCE),
43 'foo2' => new Reference('foo2', $container::IGNORE_ON_UNINITIALIZED_REFERENCE),
44 'foo3' => new Reference('foo3', $container::IGNORE_ON_UNINITIALIZED_REFERENCE),