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