@@ -123,6 +123,7 @@ the service container *how* to instantiate it:
123123
124124# app/config/services.yml
125125services :
126+ # default configuration for services in *this* file
126127_defaults :
127128autowire :true
128129autoconfigure :true
@@ -510,6 +511,70 @@ service whose id is ``monolog.logger.request``.
510511 the *service * whose id is ``monolog.logger.request ``, and not just the *string *
511512 ``monolog.logger.request ``.
512513
514+ The autoconfigure Option
515+ ------------------------
516+
517+ Above, we've set ``autoconfigure: true `` in the ``_defaults `` section so that it
518+ applies to all services defined in that file. With this setting, the container will
519+ automatically apply certain configuration to your services, based on your service's
520+ *class *. The is mostly used to *auto-tag * your services.
521+
522+ For example, to create a Twig Extension, you need to create a class, register it
523+ as a service, and:doc: `tag </tags >` it with ``twig.extension ``:
524+
525+ ..configuration-block ::
526+
527+ ..code-block ::yaml
528+
529+ # app/config/services.yml
530+ services :
531+ # ...
532+
533+ AppBundle\Twig\MyTwigExtension :
534+ tags :[twig.extension]
535+
536+ ..code-block ::xml
537+
538+ <!-- app/config/services.xml-->
539+ TODO
540+
541+ ..code-block ::php
542+
543+ // app/config/services.php
544+ TODO
545+
546+ But, with ``autoconfigure: true ``, you don't need the tag. In fact, all you need
547+ is this:
548+
549+ ..configuration-block ::
550+
551+ ..code-block ::yaml
552+
553+ # app/config/services.yml
554+ services :
555+ _defaults :
556+ autowire :true
557+ autoconfigure :true
558+
559+ # load your service from the Twig directory
560+ AppBundle\ :
561+ resource :' ../../src/AppBundle/{Service,EventDispatcher,Twig,Form}'
562+
563+ ..code-block ::xml
564+
565+ <!-- app/config/services.xml-->
566+ TODO
567+
568+ ..code-block ::php
569+
570+ // app/config/services.php
571+ TODO
572+
573+ That's it! The container will find your class in the ``Twig/ `` directory and register
574+ it as a service. Then ``autoconfigure `` will add the ``twig.extension `` tag *for *
575+ you, because your class implements ``Twig_ExtensionInterface ``. And thanks to ``autowire ``,
576+ you can even add ``__construct() `` arguments without any configuration.
577+
513578Learn more
514579----------
515580