@@ -205,66 +205,68 @@ Services can be configured via invokable configurators (replacing the
205205``configure() `` method with ``__invoke() ``) by omitting the method name, just as
206206routes can reference :ref: `invokable controllers <controller-service-invoke >`.
207207
208- .. code -block :: yaml
208+ .. configuration -block ::
209209
210- # config/services.yaml
211- services :
212- # ...
210+ .. code-block :: yaml
213211
214- # registers all classes as services, including App\Mail\EmailConfigurator
215- App\ :
216- resource : ' ../src/*'
212+ # config/services.yaml
213+ services :
217214 # ...
218215
219- # override the services to set the configurator
220- App\Mail\NewsletterManager :
221- configurator : ' @App\Mail\EmailConfigurator'
216+ # registers all classes as services, including App\Mail\EmailConfigurator
217+ App\ :
218+ resource : ' ../src/*'
219+ # ...
222220
223- App\Mail\GreetingCardManager :
224- configurator : ' @App\Mail\EmailConfigurator'
221+ # override the services to set the configurator
222+ App\Mail\NewsletterManager :
223+ configurator : ' @App\Mail\EmailConfigurator'
225224
226- .. code-block :: xml
225+ App\Mail\GreetingCardManager :
226+ configurator : ' @App\Mail\EmailConfigurator'
227227
228- <!-- config/services.xml -->
229- <?xml version =" 1.0" encoding =" UTF-8" ?>
230- <container xmlns =" http://symfony.com/schema/dic/services"
231- xmlns : xsi =" http://www.w3.org/2001/XMLSchema-instance"
232- xsi : schemaLocation =" http://symfony.com/schema/dic/services
233- http://symfony.com/schema/dic/services/services-1.0.xsd" >
228+ .. code-block :: xml
234229
235- <services >
236- <prototype namespace =" App\" resource =" ../src/*" />
230+ <!-- config/services.xml -->
231+ <?xml version =" 1.0" encoding =" UTF-8" ?>
232+ <container xmlns =" http://symfony.com/schema/dic/services"
233+ xmlns : xsi =" http://www.w3.org/2001/XMLSchema-instance"
234+ xsi : schemaLocation =" http://symfony.com/schema/dic/services
235+ https://symfony.com/schema/dic/services/services-1.0.xsd" >
237236
238- <service id =" App\Mail\NewsletterManager" >
239- <configurator service =" App\Mail\EmailConfigurator" />
240- </service >
237+ <services >
238+ <prototype namespace =" App\" resource =" ../src/*" />
241239
242- <service id =" App\Mail\GreetingCardManager" >
243- <configurator service =" App\Mail\EmailConfigurator" />
244- </service >
245- </services >
246- </container >
240+ <service id =" App\Mail\NewsletterManager" >
241+ <configurator service =" App\Mail\EmailConfigurator" />
242+ </service >
247243
248- .. code-block :: php
244+ <service id =" App\Mail\GreetingCardManager" >
245+ <configurator service =" App\Mail\EmailConfigurator" />
246+ </service >
247+ </services >
248+ </container >
249249
250- // config/services.php
251- use App\Mail\GreetingCardManager;
252- use App\Mail\NewsletterManager;
253- use Symfony\Component\DependencyInjection\Definition;
254- use Symfony\Component\DependencyInjection\Reference;
250+ .. code-block :: php
255251
256- // Same as before
257- $definition = new Definition();
252+ // config/services.php
253+ use App\Mail\GreetingCardManager;
254+ use App\Mail\NewsletterManager;
255+ use Symfony\Component\DependencyInjection\Definition;
256+ use Symfony\Component\DependencyInjection\Reference;
258257
259- $definition->setAutowired(true);
258+ // Same as before
259+ $definition = new Definition();
260260
261- $this->registerClasses($definition, 'App\\', '../src/*' );
261+ $definition->setAutowired(true );
262262
263- $container->getDefinition(NewsletterManager::class)
264- ->setConfigurator(new Reference(EmailConfigurator::class));
263+ $this->registerClasses($definition, 'App\\', '../src/*');
264+
265+ $container->getDefinition(NewsletterManager::class)
266+ ->setConfigurator(new Reference(EmailConfigurator::class));
265267
266- $container->getDefinition(GreetingCardManager::class)
267- ->setConfigurator(new Reference(EmailConfigurator::class));
268+ $container->getDefinition(GreetingCardManager::class)
269+ ->setConfigurator(new Reference(EmailConfigurator::class));
268270
269271 That's it! When requesting the ``App\Mail\NewsletterManager `` or
270272``App\Mail\GreetingCardManager `` service, the created instance will first be
0 commit comments