40 lines
1.3 KiB
PHP
40 lines
1.3 KiB
PHP
![]() |
<?php
|
||
|
|
||
|
require_once __DIR__.'/../includes/classes.php';
|
||
|
|
||
|
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||
|
use Symfony\Component\DependencyInjection\Reference;
|
||
|
use Symfony\Component\ExpressionLanguage\Expression;
|
||
|
|
||
|
$container = new ContainerBuilder();
|
||
|
$container->
|
||
|
register('foo', 'Bar\FooClass')->
|
||
|
addTag('foo', array('foo' => 'foo'))->
|
||
|
addTag('foo', array('bar' => 'bar'))->
|
||
|
setFactoryClass('Bar\\FooClass')->
|
||
|
setFactoryMethod('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%')->
|
||
|
setFactoryClass('%baz_class%')->
|
||
|
setFactoryMethod('getInstance')->
|
||
|
setConfigurator(array('%baz_class%', 'configureStatic1'))
|
||
|
;
|
||
|
$container->
|
||
|
register('factory_service', 'Bar')->
|
||
|
setFactoryService('foo.baz')->
|
||
|
setFactoryMethod('getInstance')
|
||
|
;
|
||
|
$container->getParameterBag()->clear();
|
||
|
$container->getParameterBag()->add(array(
|
||
|
'baz_class' => 'BazClass',
|
||
|
'foo' => 'bar',
|
||
|
));
|
||
|
|
||
|
return $container;
|