@@ -201,12 +201,11 @@ straightforward. Parameters make defining services more organized and flexible:
201
201
202
202
# app/config/config.yml
203
203
parameters :
204
- my_mailer.class : Acme\HelloBundle\Mailer
205
204
my_mailer.transport : sendmail
206
205
207
206
services :
208
207
my_mailer :
209
- class : " %my_mailer.class% "
208
+ class : Acme\HelloBundle\Mailer
210
209
arguments : ["%my_mailer.transport%"]
211
210
212
211
.. code-block :: xml
@@ -218,12 +217,11 @@ straightforward. Parameters make defining services more organized and flexible:
218
217
xsi : schemaLocation =" http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd" >
219
218
220
219
<parameters >
221
- <parameter key =" my_mailer.class" >Acme\HelloBundle\Mailer</parameter >
222
220
<parameter key =" my_mailer.transport" >sendmail</parameter >
223
221
</parameters >
224
222
225
223
<services >
226
- <service id =" my_mailer" class =" %my_mailer.class% " >
224
+ <service id =" my_mailer" class =" Acme\HelloBundle\Mailer " >
227
225
<argument >%my_mailer.transport%</argument >
228
226
</service >
229
227
</services >
@@ -234,19 +232,18 @@ straightforward. Parameters make defining services more organized and flexible:
234
232
// app/config/config.php
235
233
use Symfony\Component\DependencyInjection\Definition;
236
234
237
- $container->setParameter('my_mailer.class', 'Acme\HelloBundle\Mailer');
238
235
$container->setParameter('my_mailer.transport', 'sendmail');
239
236
240
237
$container->setDefinition('my_mailer', new Definition(
241
- '%my_mailer.class% ',
238
+ 'Acme\HelloBundle\Mailer ',
242
239
array('%my_mailer.transport%')
243
240
));
244
241
245
242
The end result is exactly the same as before - the difference is only in
246
- *how * you defined the service. By surrounding the ``my_mailer.class `` and
247
- `` my_mailer.transport `` strings in percent (``% ``) signs, the container knows
248
- to look for parameters with those names . When the container is built, it
249
- looks up the value of each parameter and uses it in the service definition.
243
+ *how * you defined the service. By surrounding the ``my_mailer.transport ``
244
+ string in percent (``% ``) signs, the container knows to look for a parameter
245
+ with that name . When the container is built, it looks up the value of each
246
+ parameter and uses it in the service definition.
250
247
251
248
.. note ::
252
249
@@ -346,12 +343,11 @@ directories don't exist, create them.
346
343
347
344
# src/Acme/HelloBundle/Resources/config/services.yml
348
345
parameters :
349
- my_mailer.class : Acme\HelloBundle\Mailer
350
346
my_mailer.transport : sendmail
351
347
352
348
services :
353
349
my_mailer :
354
- class : " %my_mailer.class% "
350
+ class : Acme\HelloBundle\Mailer
355
351
arguments : ["%my_mailer.transport%"]
356
352
357
353
.. code-block :: xml
@@ -363,12 +359,11 @@ directories don't exist, create them.
363
359
xsi : schemaLocation =" http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd" >
364
360
365
361
<parameters >
366
- <parameter key =" my_mailer.class" >Acme\HelloBundle\Mailer</parameter >
367
362
<parameter key =" my_mailer.transport" >sendmail</parameter >
368
363
</parameters >
369
364
370
365
<services >
371
- <service id =" my_mailer" class =" %my_mailer.class% " >
366
+ <service id =" my_mailer" class =" Acme\HelloBundle\Mailer " >
372
367
<argument >%my_mailer.transport%</argument >
373
368
</service >
374
369
</services >
@@ -379,11 +374,10 @@ directories don't exist, create them.
379
374
// src/Acme/HelloBundle/Resources/config/services.php
380
375
use Symfony\Component\DependencyInjection\Definition;
381
376
382
- $container->setParameter('my_mailer.class', 'Acme\HelloBundle\Mailer');
383
377
$container->setParameter('my_mailer.transport', 'sendmail');
384
378
385
379
$container->setDefinition('my_mailer', new Definition(
386
- '%my_mailer.class% ',
380
+ 'Acme\HelloBundle\Mailer ',
387
381
array('%my_mailer.transport%')
388
382
));
389
383
@@ -606,15 +600,11 @@ the service container gives you a much more appealing option:
606
600
.. code-block :: yaml
607
601
608
602
# src/Acme/HelloBundle/Resources/config/services.yml
609
- parameters :
610
- # ...
611
- newsletter_manager.class : Acme\HelloBundle\Newsletter\NewsletterManager
612
-
613
603
services :
614
604
my_mailer :
615
605
# ...
616
606
newsletter_manager :
617
- class : " %newsletter_manager.class% "
607
+ class : Acme\HelloBundle\Newsletter\NewsletterManager
618
608
arguments : ["@my_mailer"]
619
609
620
610
.. code-block :: xml
@@ -625,16 +615,11 @@ the service container gives you a much more appealing option:
625
615
xmlns : xsi =" http://www.w3.org/2001/XMLSchema-instance"
626
616
xsi : schemaLocation =" http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd" >
627
617
628
- <parameters >
629
- <!-- ... -->
630
- <parameter key =" newsletter_manager.class" >Acme\HelloBundle\Newsletter\NewsletterManager</parameter >
631
- </parameters >
632
-
633
618
<services >
634
619
<service id =" my_mailer" >
635
620
<!-- ... -->
636
621
</service >
637
- <service id =" newsletter_manager" class =" %newsletter_manager.class% " >
622
+ <service id =" newsletter_manager" class =" Acme\HelloBundle\Newsletter\NewsletterManager " >
638
623
<argument type =" service" id =" my_mailer" />
639
624
</service >
640
625
</services >
@@ -646,15 +631,9 @@ the service container gives you a much more appealing option:
646
631
use Symfony\Component\DependencyInjection\Definition;
647
632
use Symfony\Component\DependencyInjection\Reference;
648
633
649
- // ...
650
- $container->setParameter(
651
- 'newsletter_manager.class',
652
- 'Acme\HelloBundle\Newsletter\NewsletterManager'
653
- );
654
-
655
634
$container->setDefinition('my_mailer', ...);
656
635
$container->setDefinition('newsletter_manager', new Definition(
657
- '%newsletter_manager.class% ',
636
+ 'Acme\HelloBundle\Newsletter\NewsletterManager ',
658
637
array(new Reference('my_mailer'))
659
638
));
660
639
@@ -702,15 +681,11 @@ Injecting the dependency by the setter method just needs a change of syntax:
702
681
.. code-block :: yaml
703
682
704
683
# src/Acme/HelloBundle/Resources/config/services.yml
705
- parameters :
706
- # ...
707
- newsletter_manager.class : Acme\HelloBundle\Newsletter\NewsletterManager
708
-
709
684
services :
710
685
my_mailer :
711
686
# ...
712
687
newsletter_manager :
713
- class : " %newsletter_manager.class% "
688
+ class : Acme\HelloBundle\Newsletter\NewsletterManager
714
689
calls :
715
690
- [setMailer, ["@my_mailer"]]
716
691
@@ -722,16 +697,11 @@ Injecting the dependency by the setter method just needs a change of syntax:
722
697
xmlns : xsi =" http://www.w3.org/2001/XMLSchema-instance"
723
698
xsi : schemaLocation =" http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd" >
724
699
725
- <parameters >
726
- <!-- ... -->
727
- <parameter key =" newsletter_manager.class" >Acme\HelloBundle\Newsletter\NewsletterManager</parameter >
728
- </parameters >
729
-
730
700
<services >
731
701
<service id =" my_mailer" >
732
702
<!-- ... -->
733
703
</service >
734
- <service id =" newsletter_manager" class =" %newsletter_manager.class% " >
704
+ <service id =" newsletter_manager" class =" Acme\HelloBundle\Newsletter\NewsletterManager " >
735
705
<call method =" setMailer" >
736
706
<argument type =" service" id =" my_mailer" />
737
707
</call >
@@ -745,15 +715,9 @@ Injecting the dependency by the setter method just needs a change of syntax:
745
715
use Symfony\Component\DependencyInjection\Definition;
746
716
use Symfony\Component\DependencyInjection\Reference;
747
717
748
- // ...
749
- $container->setParameter(
750
- 'newsletter_manager.class',
751
- 'Acme\HelloBundle\Newsletter\NewsletterManager'
752
- );
753
-
754
718
$container->setDefinition('my_mailer', ...);
755
719
$container->setDefinition('newsletter_manager', new Definition(
756
- '%newsletter_manager.class% '
720
+ 'Acme\HelloBundle\Newsletter\NewsletterManager '
757
721
))->addMethodCall('setMailer', array(
758
722
new Reference('my_mailer'),
759
723
));
@@ -779,12 +743,9 @@ it exists and do nothing if it doesn't:
779
743
.. code-block :: yaml
780
744
781
745
# src/Acme/HelloBundle/Resources/config/services.yml
782
- parameters :
783
- # ...
784
-
785
746
services :
786
747
newsletter_manager :
787
- class : " %newsletter_manager.class% "
748
+ class : Acme\HelloBundle\Newsletter\NewsletterManager
788
749
arguments : ["@?my_mailer"]
789
750
790
751
.. code-block :: xml
@@ -799,7 +760,7 @@ it exists and do nothing if it doesn't:
799
760
<service id =" my_mailer" >
800
761
<!-- ... -->
801
762
</service >
802
- <service id =" newsletter_manager" class =" %newsletter_manager.class% " >
763
+ <service id =" newsletter_manager" class =" Acme\HelloBundle\Newsletter\NewsletterManager " >
803
764
<argument type =" service" id =" my_mailer" on-invalid =" ignore" />
804
765
</service >
805
766
</services >
@@ -812,15 +773,9 @@ it exists and do nothing if it doesn't:
812
773
use Symfony\Component\DependencyInjection\Reference;
813
774
use Symfony\Component\DependencyInjection\ContainerInterface;
814
775
815
- // ...
816
- $container->setParameter(
817
- 'newsletter_manager.class',
818
- 'Acme\HelloBundle\Newsletter\NewsletterManager'
819
- );
820
-
821
776
$container->setDefinition('my_mailer', ...);
822
777
$container->setDefinition('newsletter_manager', new Definition(
823
- '%newsletter_manager.class% ',
778
+ 'Acme\HelloBundle\Newsletter\NewsletterManager ',
824
779
array(
825
780
new Reference(
826
781
'my_mailer',
@@ -897,7 +852,7 @@ Configuring the service container is easy:
897
852
# src/Acme/HelloBundle/Resources/config/services.yml
898
853
services :
899
854
newsletter_manager :
900
- class : " %newsletter_manager.class% "
855
+ class : Acme\HelloBundle\Newsletter\NewsletterManager
901
856
arguments : ["@mailer", "@templating"]
902
857
903
858
.. code-block :: xml
@@ -908,7 +863,7 @@ Configuring the service container is easy:
908
863
xmlns : xsi =" http://www.w3.org/2001/XMLSchema-instance"
909
864
xsi : schemaLocation =" http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd" >
910
865
911
- <service id =" newsletter_manager" class =" %newsletter_manager.class% " >
866
+ <service id =" newsletter_manager" class =" Acme\HelloBundle\Newsletter\NewsletterManager " >
912
867
<argument type =" service" id =" mailer" />
913
868
<argument type =" service" id =" templating" />
914
869
</service >
@@ -918,7 +873,7 @@ Configuring the service container is easy:
918
873
919
874
// src/Acme/HelloBundle/Resources/config/services.php
920
875
$container->setDefinition('newsletter_manager', new Definition(
921
- '%newsletter_manager.class% ',
876
+ 'Acme\HelloBundle\Newsletter\NewsletterManager ',
922
877
array(
923
878
new Reference('mailer'),
924
879
new Reference('templating'),
0 commit comments