2010-01-04 14:26:20 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
require_once __DIR__.'/../includes/classes.php';
|
|
|
|
|
2010-08-20 22:09:55 +01:00
|
|
|
use Symfony\Component\DependencyInjection\ContainerInterface;
|
|
|
|
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
|
|
|
use Symfony\Component\DependencyInjection\Reference;
|
|
|
|
use Symfony\Component\DependencyInjection\Parameter;
|
2010-01-04 14:26:20 +00:00
|
|
|
|
2010-07-15 14:11:33 +01:00
|
|
|
$container = new ContainerBuilder();
|
2010-01-04 14:26:20 +00:00
|
|
|
$container->
|
2010-05-06 12:25:53 +01:00
|
|
|
register('foo', 'FooClass')->
|
2010-08-05 06:34:53 +01:00
|
|
|
addTag('foo', array('foo' => 'foo'))->
|
|
|
|
addTag('foo', array('bar' => 'bar'))->
|
2011-02-02 17:22:27 +00:00
|
|
|
setFactoryClass('FooClass')->
|
2010-07-05 08:47:14 +01:00
|
|
|
setFactoryMethod('getInstance')->
|
2010-05-06 12:25:53 +01:00
|
|
|
setArguments(array('foo', new Reference('foo.baz'), array('%foo%' => 'foo is %foo%', 'bar' => '%foo%'), true, new Reference('service_container')))->
|
2011-03-10 14:31:00 +00:00
|
|
|
setProperties(array('foo' => 'bar', 'moo' => new Reference('foo.baz')))->
|
2011-01-17 22:28:59 +00:00
|
|
|
setScope('prototype')->
|
2010-11-12 08:49:59 +00:00
|
|
|
addMethodCall('setBar', array(new Reference('bar')))->
|
2010-05-06 12:25:53 +01:00
|
|
|
addMethodCall('initialize')->
|
|
|
|
setConfigurator('sc_configure')
|
2010-01-04 14:26:20 +00:00
|
|
|
;
|
|
|
|
$container->
|
2010-05-06 12:25:53 +01:00
|
|
|
register('bar', 'FooClass')->
|
|
|
|
setArguments(array('foo', new Reference('foo.baz'), new Parameter('foo_bar')))->
|
2011-01-17 22:28:59 +00:00
|
|
|
setScope('container')->
|
2010-05-06 12:25:53 +01:00
|
|
|
setConfigurator(array(new Reference('foo.baz'), 'configure'))
|
2010-01-04 14:26:20 +00:00
|
|
|
;
|
|
|
|
$container->
|
2010-05-06 12:25:53 +01:00
|
|
|
register('foo.baz', '%baz_class%')->
|
2011-02-02 17:22:27 +00:00
|
|
|
setFactoryClass('%baz_class%')->
|
2010-07-05 08:47:14 +01:00
|
|
|
setFactoryMethod('getInstance')->
|
2010-05-06 12:25:53 +01:00
|
|
|
setConfigurator(array('%baz_class%', 'configureStatic1'))
|
2010-01-04 14:26:20 +00:00
|
|
|
;
|
|
|
|
$container->register('foo_bar', '%foo_class%');
|
2010-06-27 17:28:29 +01:00
|
|
|
$container->getParameterBag()->clear();
|
|
|
|
$container->getParameterBag()->add(array(
|
2010-05-06 12:25:53 +01:00
|
|
|
'baz_class' => 'BazClass',
|
|
|
|
'foo_class' => 'FooClass',
|
|
|
|
'foo' => 'bar',
|
2010-01-04 14:26:20 +00:00
|
|
|
));
|
|
|
|
$container->setAlias('alias_for_foo', 'foo');
|
|
|
|
$container->
|
2010-05-06 12:25:53 +01:00
|
|
|
register('method_call1', 'FooClass')->
|
2010-11-12 08:49:59 +00:00
|
|
|
setFile(realpath(__DIR__.'/../includes/foo.php'))->
|
2010-05-06 12:25:53 +01:00
|
|
|
addMethodCall('setBar', array(new Reference('foo')))->
|
2011-01-05 11:13:27 +00:00
|
|
|
addMethodCall('setBar', array(new Reference('foo2', ContainerInterface::NULL_ON_INVALID_REFERENCE)))->
|
|
|
|
addMethodCall('setBar', array(new Reference('foo3', ContainerInterface::IGNORE_ON_INVALID_REFERENCE)))->
|
2010-06-27 17:28:29 +01:00
|
|
|
addMethodCall('setBar', array(new Reference('foobaz', ContainerInterface::IGNORE_ON_INVALID_REFERENCE)))
|
2010-01-04 14:26:20 +00:00
|
|
|
;
|
2010-07-04 17:56:48 +01:00
|
|
|
$container->
|
|
|
|
register('factory_service')->
|
|
|
|
setFactoryService('foo.baz')->
|
|
|
|
setFactoryMethod('getInstance')
|
|
|
|
;
|
2010-01-04 14:26:20 +00:00
|
|
|
|
|
|
|
return $container;
|