container19.php 665 B

12345678910111213141516171819202122
  1. <?php
  2. use Symfony\Component\DependencyInjection\ContainerBuilder;
  3. use Symfony\Component\DependencyInjection\Definition;
  4. require_once __DIR__.'/../includes/classes.php';
  5. $container = new ContainerBuilder();
  6. $container
  7. ->register('service_from_anonymous_factory', 'Bar\FooClass')
  8. ->setFactory(array(new Definition('Bar\FooClass'), 'getInstance'))
  9. ;
  10. $anonymousServiceWithFactory = new Definition('Bar\FooClass');
  11. $anonymousServiceWithFactory->setFactory('Bar\FooClass::getInstance');
  12. $container
  13. ->register('service_with_method_call_and_factory', 'Bar\FooClass')
  14. ->addMethodCall('setBar', array($anonymousServiceWithFactory))
  15. ;
  16. return $container;