2015-08-17 17:00:26 -07:00
< ? php
require_once __DIR__ . '/../includes/classes.php' ;
use Symfony\Component\DependencyInjection\ContainerInterface ;
use Symfony\Component\DependencyInjection\ContainerBuilder ;
use Symfony\Component\DependencyInjection\Reference ;
use Symfony\Component\DependencyInjection\Parameter ;
use Symfony\Component\ExpressionLanguage\Expression ;
$container = new ContainerBuilder ();
$container
2015-10-08 11:40:12 -07:00
-> register ( 'foo' , '\Bar\FooClass' )
2015-08-17 17:00:26 -07:00
-> addTag ( 'foo' , array ( 'foo' => 'foo' ))
-> addTag ( 'foo' , array ( 'bar' => 'bar' , 'baz' => 'baz' ))
-> setFactory ( array ( 'Bar\\FooClass' , 'getInstance' ))
-> setArguments ( array ( 'foo' , new Reference ( 'foo.baz' ), array ( '%foo%' => 'foo is %foo%' , 'foobar' => '%foo%' ), true , new Reference ( 'service_container' )))
-> setProperties ( array ( 'foo' => 'bar' , 'moo' => new Reference ( 'foo.baz' ), 'qux' => array ( '%foo%' => 'foo is %foo%' , 'foobar' => '%foo%' )))
-> addMethodCall ( 'setBar' , array ( new Reference ( 'bar' )))
-> addMethodCall ( 'initialize' )
-> setConfigurator ( 'sc_configure' )
;
$container
-> register ( 'foo.baz' , '%baz_class%' )
-> setFactory ( array ( '%baz_class%' , 'getInstance' ))
-> setConfigurator ( array ( '%baz_class%' , 'configureStatic1' ))
;
$container
-> register ( 'bar' , 'Bar\FooClass' )
-> setArguments ( array ( 'foo' , new Reference ( 'foo.baz' ), new Parameter ( 'foo_bar' )))
-> setScope ( 'container' )
-> setConfigurator ( array ( new Reference ( 'foo.baz' ), 'configure' ))
;
$container
-> register ( 'foo_bar' , '%foo_class%' )
-> setScope ( 'prototype' )
;
$container -> getParameterBag () -> clear ();
$container -> getParameterBag () -> add ( array (
'baz_class' => 'BazClass' ,
'foo_class' => 'Bar\FooClass' ,
'foo' => 'bar' ,
));
$container -> setAlias ( 'alias_for_foo' , 'foo' );
$container -> setAlias ( 'alias_for_alias' , 'alias_for_foo' );
$container
-> register ( 'method_call1' , 'Bar\FooClass' )
-> setFile ( realpath ( __DIR__ . '/../includes/foo.php' ))
-> addMethodCall ( 'setBar' , array ( new Reference ( 'foo' )))
-> addMethodCall ( 'setBar' , array ( new Reference ( 'foo2' , ContainerInterface :: NULL_ON_INVALID_REFERENCE )))
-> addMethodCall ( 'setBar' , array ( new Reference ( 'foo3' , ContainerInterface :: IGNORE_ON_INVALID_REFERENCE )))
-> addMethodCall ( 'setBar' , array ( new Reference ( 'foobaz' , ContainerInterface :: IGNORE_ON_INVALID_REFERENCE )))
-> addMethodCall ( 'setBar' , array ( new Expression ( 'service("foo").foo() ~ (container.hasparameter("foo") ? parameter("foo") : "default")' )))
;
$container
-> register ( 'foo_with_inline' , 'Foo' )
-> addMethodCall ( 'setBar' , array ( new Reference ( 'inlined' )))
;
$container
-> register ( 'inlined' , 'Bar' )
-> setProperty ( 'pub' , 'pub' )
-> addMethodCall ( 'setBaz' , array ( new Reference ( 'baz' )))
-> setPublic ( false )
;
$container
-> register ( 'baz' , 'Baz' )
-> addMethodCall ( 'setFoo' , array ( new Reference ( 'foo_with_inline' )))
;
$container
-> register ( 'request' , 'Request' )
-> setSynthetic ( true )
;
$container
-> register ( 'configurator_service' , 'ConfClass' )
-> setPublic ( false )
-> addMethodCall ( 'setFoo' , array ( new Reference ( 'baz' )))
;
$container
-> register ( 'configured_service' , 'stdClass' )
-> setConfigurator ( array ( new Reference ( 'configurator_service' ), 'configureStdClass' ))
;
$container
-> register ( 'decorated' , 'stdClass' )
;
$container
-> register ( 'decorator_service' , 'stdClass' )
-> setDecoratedService ( 'decorated' )
;
$container
-> register ( 'decorator_service_with_name' , 'stdClass' )
-> setDecoratedService ( 'decorated' , 'decorated.pif-pouf' )
;
$container
-> register ( 'new_factory' , 'FactoryClass' )
-> setProperty ( 'foo' , 'bar' )
-> setScope ( 'container' )
-> setPublic ( false )
;
$container
-> register ( 'factory_service' , 'Bar' )
-> setFactory ( array ( new Reference ( 'foo.baz' ), 'getInstance' ))
;
$container
-> register ( 'new_factory_service' , 'FooBarBaz' )
-> setProperty ( 'foo' , 'bar' )
-> setFactory ( array ( new Reference ( 'new_factory' ), 'getInstance' ))
;
$container
-> register ( 'service_from_static_method' , 'Bar\FooClass' )
-> setFactory ( array ( 'Bar\FooClass' , 'getInstance' ))
;
return $container ;