legacy-container9.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <?php
  2. require_once __DIR__.'/../includes/classes.php';
  3. use Symfony\Component\DependencyInjection\ContainerBuilder;
  4. use Symfony\Component\DependencyInjection\Reference;
  5. $container = new ContainerBuilder();
  6. $container->
  7. register('foo', 'Bar\FooClass')->
  8. addTag('foo', array('foo' => 'foo'))->
  9. addTag('foo', array('bar' => 'bar'))->
  10. setFactoryClass('Bar\\FooClass')->
  11. setFactoryMethod('getInstance')->
  12. setArguments(array('foo', new Reference('foo.baz'), array('%foo%' => 'foo is %foo%', 'foobar' => '%foo%'), true, new Reference('service_container')))->
  13. setProperties(array('foo' => 'bar', 'moo' => new Reference('foo.baz'), 'qux' => array('%foo%' => 'foo is %foo%', 'foobar' => '%foo%')))->
  14. addMethodCall('setBar', array(new Reference('bar')))->
  15. addMethodCall('initialize')->
  16. setConfigurator('sc_configure')
  17. ;
  18. $container->
  19. register('foo.baz', '%baz_class%')->
  20. setFactoryClass('%baz_class%')->
  21. setFactoryMethod('getInstance')->
  22. setConfigurator(array('%baz_class%', 'configureStatic1'))
  23. ;
  24. $container->
  25. register('factory_service', 'Bar')->
  26. setFactoryService('foo.baz')->
  27. setFactoryMethod('getInstance')
  28. ;
  29. $container
  30. ->register('foo_bar', '%foo_class%')
  31. ->setScope('prototype')
  32. ;
  33. $container->getParameterBag()->clear();
  34. $container->getParameterBag()->add(array(
  35. 'foo_class' => 'Bar\FooClass',
  36. 'baz_class' => 'BazClass',
  37. 'foo' => 'bar',
  38. ));
  39. return $container;