Further Drupal 8.6.4 changes. Some core files were not committed before a commit...
[yaffs-website] / vendor / symfony / dependency-injection / Tests / Fixtures / containers / container9.php
1 <?php
2
3 require_once __DIR__.'/../includes/classes.php';
4 require_once __DIR__.'/../includes/foo.php';
5
6 use Symfony\Component\DependencyInjection\Argument\IteratorArgument;
7 use Symfony\Component\DependencyInjection\Argument\TaggedIteratorArgument;
8 use Symfony\Component\DependencyInjection\ContainerInterface;
9 use Symfony\Component\DependencyInjection\ContainerBuilder;
10 use Symfony\Component\DependencyInjection\Reference;
11 use Symfony\Component\DependencyInjection\Parameter;
12 use Symfony\Component\ExpressionLanguage\Expression;
13
14 $container = new ContainerBuilder();
15 $container
16     ->register('foo', '\Bar\FooClass')
17     ->addTag('foo', array('foo' => 'foo'))
18     ->addTag('foo', array('bar' => 'bar', 'baz' => 'baz'))
19     ->setFactory(array('Bar\\FooClass', 'getInstance'))
20     ->setArguments(array('foo', new Reference('foo.baz'), array('%foo%' => 'foo is %foo%', 'foobar' => '%foo%'), true, new Reference('service_container')))
21     ->setProperties(array('foo' => 'bar', 'moo' => new Reference('foo.baz'), 'qux' => array('%foo%' => 'foo is %foo%', 'foobar' => '%foo%')))
22     ->addMethodCall('setBar', array(new Reference('bar')))
23     ->addMethodCall('initialize')
24     ->setConfigurator('sc_configure')
25     ->setPublic(true)
26 ;
27 $container
28     ->register('foo.baz', '%baz_class%')
29     ->setFactory(array('%baz_class%', 'getInstance'))
30     ->setConfigurator(array('%baz_class%', 'configureStatic1'))
31     ->setPublic(true)
32 ;
33 $container
34     ->register('bar', 'Bar\FooClass')
35     ->setArguments(array('foo', new Reference('foo.baz'), new Parameter('foo_bar')))
36     ->setConfigurator(array(new Reference('foo.baz'), 'configure'))
37     ->setPublic(true)
38 ;
39 $container
40     ->register('foo_bar', '%foo_class%')
41     ->addArgument(new Reference('deprecated_service'))
42     ->setShared(false)
43     ->setPublic(true)
44 ;
45 $container->getParameterBag()->clear();
46 $container->getParameterBag()->add(array(
47     'baz_class' => 'BazClass',
48     'foo_class' => 'Bar\FooClass',
49     'foo' => 'bar',
50 ));
51 $container
52     ->register('method_call1', 'Bar\FooClass')
53     ->setFile(realpath(__DIR__.'/../includes/foo.php'))
54     ->addMethodCall('setBar', array(new Reference('foo')))
55     ->addMethodCall('setBar', array(new Reference('foo2', ContainerInterface::NULL_ON_INVALID_REFERENCE)))
56     ->addMethodCall('setBar', array(new Reference('foo3', ContainerInterface::IGNORE_ON_INVALID_REFERENCE)))
57     ->addMethodCall('setBar', array(new Reference('foobaz', ContainerInterface::IGNORE_ON_INVALID_REFERENCE)))
58     ->addMethodCall('setBar', array(new Expression('service("foo").foo() ~ (container.hasParameter("foo") ? parameter("foo") : "default")')))
59     ->setPublic(true)
60 ;
61 $container
62     ->register('foo_with_inline', 'Foo')
63     ->addMethodCall('setBar', array(new Reference('inlined')))
64     ->setPublic(true)
65 ;
66 $container
67     ->register('inlined', 'Bar')
68     ->setProperty('pub', 'pub')
69     ->addMethodCall('setBaz', array(new Reference('baz')))
70     ->setPublic(false)
71 ;
72 $container
73     ->register('baz', 'Baz')
74     ->addMethodCall('setFoo', array(new Reference('foo_with_inline')))
75     ->setPublic(true)
76 ;
77 $container
78     ->register('request', 'Request')
79     ->setSynthetic(true)
80     ->setPublic(true)
81 ;
82 $container
83     ->register('configurator_service', 'ConfClass')
84     ->setPublic(false)
85     ->addMethodCall('setFoo', array(new Reference('baz')))
86 ;
87 $container
88     ->register('configured_service', 'stdClass')
89     ->setConfigurator(array(new Reference('configurator_service'), 'configureStdClass'))
90     ->setPublic(true)
91 ;
92 $container
93     ->register('configurator_service_simple', 'ConfClass')
94     ->addArgument('bar')
95     ->setPublic(false)
96 ;
97 $container
98     ->register('configured_service_simple', 'stdClass')
99     ->setConfigurator(array(new Reference('configurator_service_simple'), 'configureStdClass'))
100     ->setPublic(true)
101 ;
102 $container
103     ->register('decorated', 'stdClass')
104     ->setPublic(true)
105 ;
106 $container
107     ->register('decorator_service', 'stdClass')
108     ->setDecoratedService('decorated')
109     ->setPublic(true)
110 ;
111 $container
112     ->register('decorator_service_with_name', 'stdClass')
113     ->setDecoratedService('decorated', 'decorated.pif-pouf')
114     ->setPublic(true)
115 ;
116 $container
117     ->register('deprecated_service', 'stdClass')
118     ->setDeprecated(true)
119     ->setPublic(true)
120 ;
121 $container
122     ->register('new_factory', 'FactoryClass')
123     ->setProperty('foo', 'bar')
124     ->setPublic(false)
125 ;
126 $container
127     ->register('factory_service', 'Bar')
128     ->setFactory(array(new Reference('foo.baz'), 'getInstance'))
129     ->setPublic(true)
130 ;
131 $container
132     ->register('new_factory_service', 'FooBarBaz')
133     ->setProperty('foo', 'bar')
134     ->setFactory(array(new Reference('new_factory'), 'getInstance'))
135     ->setPublic(true)
136 ;
137 $container
138     ->register('service_from_static_method', 'Bar\FooClass')
139     ->setFactory(array('Bar\FooClass', 'getInstance'))
140     ->setPublic(true)
141 ;
142 $container
143     ->register('factory_simple', 'SimpleFactoryClass')
144     ->addArgument('foo')
145     ->setDeprecated(true)
146     ->setPublic(false)
147 ;
148 $container
149     ->register('factory_service_simple', 'Bar')
150     ->setFactory(array(new Reference('factory_simple'), 'getInstance'))
151     ->setPublic(true)
152 ;
153 $container
154     ->register('lazy_context', 'LazyContext')
155     ->setArguments(array(new IteratorArgument(array('k1' => new Reference('foo.baz'), 'k2' => new Reference('service_container'))), new IteratorArgument(array())))
156     ->setPublic(true)
157 ;
158 $container
159     ->register('lazy_context_ignore_invalid_ref', 'LazyContext')
160     ->setArguments(array(new IteratorArgument(array(new Reference('foo.baz'), new Reference('invalid', ContainerInterface::IGNORE_ON_INVALID_REFERENCE))), new IteratorArgument(array())))
161     ->setPublic(true)
162 ;
163 $container
164     ->register('tagged_iterator_foo', 'Bar')
165     ->addTag('foo')
166     ->setPublic(false)
167 ;
168 $container
169     ->register('tagged_iterator', 'Bar')
170     ->addArgument(new TaggedIteratorArgument('foo'))
171     ->setPublic(true)
172 ;
173 $container->setAlias('alias_for_foo', 'foo')->setPublic(true);
174 $container->setAlias('alias_for_alias', 'alias_for_foo')->setPublic(true);
175
176 return $container;