Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 1fb20e5

Browse filesBrowse files
committed
remove service class parameters
1 parent 8bba316 commit 1fb20e5
Copy full SHA for 1fb20e5

File tree

Expand file treeCollapse file tree

12 files changed

+90
-287
lines changed
Filter options
Expand file treeCollapse file tree

12 files changed

+90
-287
lines changed

‎best_practices/business-logic.rst

Copy file name to clipboardExpand all lines: best_practices/business-logic.rst
+1-4Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -140,12 +140,9 @@ the class namespace as a parameter:
140140
# app/config/services.yml
141141
142142
# service definition with class namespace as parameter
143-
parameters:
144-
slugger.class: AppBundle\Utils\Slugger
145-
146143
services:
147144
app.slugger:
148-
class: "%slugger.class%"
145+
class: AppBundle\Utils\Slugger
149146
150147
This practice is cumbersome and completely unnecessary for your own services:
151148

‎book/service_container.rst

Copy file name to clipboardExpand all lines: book/service_container.rst
+22-67Lines changed: 22 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -203,12 +203,11 @@ straightforward. Parameters make defining services more organized and flexible:
203203
204204
# app/config/config.yml
205205
parameters:
206-
my_mailer.class: Acme\HelloBundle\Mailer
207206
my_mailer.transport: sendmail
208207
209208
services:
210209
my_mailer:
211-
class: "%my_mailer.class%"
210+
class: Acme\HelloBundle\Mailer
212211
arguments: ["%my_mailer.transport%"]
213212
214213
.. code-block:: xml
@@ -220,12 +219,11 @@ straightforward. Parameters make defining services more organized and flexible:
220219
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
221220
222221
<parameters>
223-
<parameter key="my_mailer.class">Acme\HelloBundle\Mailer</parameter>
224222
<parameter key="my_mailer.transport">sendmail</parameter>
225223
</parameters>
226224
227225
<services>
228-
<service id="my_mailer" class="%my_mailer.class%">
226+
<service id="my_mailer" class="Acme\HelloBundle\Mailer">
229227
<argument>%my_mailer.transport%</argument>
230228
</service>
231229
</services>
@@ -236,19 +234,18 @@ straightforward. Parameters make defining services more organized and flexible:
236234
// app/config/config.php
237235
use Symfony\Component\DependencyInjection\Definition;
238236
239-
$container->setParameter('my_mailer.class', 'Acme\HelloBundle\Mailer');
240237
$container->setParameter('my_mailer.transport', 'sendmail');
241238
242239
$container->setDefinition('my_mailer', new Definition(
243-
'%my_mailer.class%',
240+
'Acme\HelloBundle\Mailer',
244241
array('%my_mailer.transport%')
245242
));
246243
247244
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.
252249

253250
.. note::
254251

@@ -348,12 +345,11 @@ directories don't exist, create them.
348345
349346
# src/Acme/HelloBundle/Resources/config/services.yml
350347
parameters:
351-
my_mailer.class: Acme\HelloBundle\Mailer
352348
my_mailer.transport: sendmail
353349
354350
services:
355351
my_mailer:
356-
class: "%my_mailer.class%"
352+
class: Acme\HelloBundle\Mailer
357353
arguments: ["%my_mailer.transport%"]
358354
359355
.. code-block:: xml
@@ -365,12 +361,11 @@ directories don't exist, create them.
365361
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
366362
367363
<parameters>
368-
<parameter key="my_mailer.class">Acme\HelloBundle\Mailer</parameter>
369364
<parameter key="my_mailer.transport">sendmail</parameter>
370365
</parameters>
371366
372367
<services>
373-
<service id="my_mailer" class="%my_mailer.class%">
368+
<service id="my_mailer" class="Acme\HelloBundle\Mailer">
374369
<argument>%my_mailer.transport%</argument>
375370
</service>
376371
</services>
@@ -381,11 +376,10 @@ directories don't exist, create them.
381376
// src/Acme/HelloBundle/Resources/config/services.php
382377
use Symfony\Component\DependencyInjection\Definition;
383378
384-
$container->setParameter('my_mailer.class', 'Acme\HelloBundle\Mailer');
385379
$container->setParameter('my_mailer.transport', 'sendmail');
386380
387381
$container->setDefinition('my_mailer', new Definition(
388-
'%my_mailer.class%',
382+
'Acme\HelloBundle\Mailer',
389383
array('%my_mailer.transport%')
390384
));
391385
@@ -608,15 +602,11 @@ the service container gives you a much more appealing option:
608602
.. code-block:: yaml
609603
610604
# src/Acme/HelloBundle/Resources/config/services.yml
611-
parameters:
612-
# ...
613-
newsletter_manager.class: Acme\HelloBundle\Newsletter\NewsletterManager
614-
615605
services:
616606
my_mailer:
617607
# ...
618608
newsletter_manager:
619-
class: "%newsletter_manager.class%"
609+
class: Acme\HelloBundle\Newsletter\NewsletterManager
620610
arguments: ["@my_mailer"]
621611
622612
.. code-block:: xml
@@ -627,16 +617,11 @@ the service container gives you a much more appealing option:
627617
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
628618
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
629619
630-
<parameters>
631-
<!-- ... -->
632-
<parameter key="newsletter_manager.class">Acme\HelloBundle\Newsletter\NewsletterManager</parameter>
633-
</parameters>
634-
635620
<services>
636621
<service id="my_mailer">
637622
<!-- ... -->
638623
</service>
639-
<service id="newsletter_manager" class="%newsletter_manager.class%">
624+
<service id="newsletter_manager" class="Acme\HelloBundle\Newsletter\NewsletterManager">
640625
<argument type="service" id="my_mailer"/>
641626
</service>
642627
</services>
@@ -648,15 +633,9 @@ the service container gives you a much more appealing option:
648633
use Symfony\Component\DependencyInjection\Definition;
649634
use Symfony\Component\DependencyInjection\Reference;
650635
651-
// ...
652-
$container->setParameter(
653-
'newsletter_manager.class',
654-
'Acme\HelloBundle\Newsletter\NewsletterManager'
655-
);
656-
657636
$container->setDefinition('my_mailer', ...);
658637
$container->setDefinition('newsletter_manager', new Definition(
659-
'%newsletter_manager.class%',
638+
'Acme\HelloBundle\Newsletter\NewsletterManager',
660639
array(new Reference('my_mailer'))
661640
));
662641
@@ -704,15 +683,11 @@ Injecting the dependency by the setter method just needs a change of syntax:
704683
.. code-block:: yaml
705684
706685
# src/Acme/HelloBundle/Resources/config/services.yml
707-
parameters:
708-
# ...
709-
newsletter_manager.class: Acme\HelloBundle\Newsletter\NewsletterManager
710-
711686
services:
712687
my_mailer:
713688
# ...
714689
newsletter_manager:
715-
class: "%newsletter_manager.class%"
690+
class: Acme\HelloBundle\Newsletter\NewsletterManager
716691
calls:
717692
- [setMailer, ["@my_mailer"]]
718693
@@ -724,16 +699,11 @@ Injecting the dependency by the setter method just needs a change of syntax:
724699
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
725700
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
726701
727-
<parameters>
728-
<!-- ... -->
729-
<parameter key="newsletter_manager.class">Acme\HelloBundle\Newsletter\NewsletterManager</parameter>
730-
</parameters>
731-
732702
<services>
733703
<service id="my_mailer">
734704
<!-- ... -->
735705
</service>
736-
<service id="newsletter_manager" class="%newsletter_manager.class%">
706+
<service id="newsletter_manager" class="Acme\HelloBundle\Newsletter\NewsletterManager">
737707
<call method="setMailer">
738708
<argument type="service" id="my_mailer" />
739709
</call>
@@ -747,15 +717,9 @@ Injecting the dependency by the setter method just needs a change of syntax:
747717
use Symfony\Component\DependencyInjection\Definition;
748718
use Symfony\Component\DependencyInjection\Reference;
749719
750-
// ...
751-
$container->setParameter(
752-
'newsletter_manager.class',
753-
'Acme\HelloBundle\Newsletter\NewsletterManager'
754-
);
755-
756720
$container->setDefinition('my_mailer', ...);
757721
$container->setDefinition('newsletter_manager', new Definition(
758-
'%newsletter_manager.class%'
722+
'Acme\HelloBundle\Newsletter\NewsletterManager'
759723
))->addMethodCall('setMailer', array(
760724
new Reference('my_mailer'),
761725
));
@@ -781,12 +745,9 @@ it exists and do nothing if it doesn't:
781745
.. code-block:: yaml
782746
783747
# src/Acme/HelloBundle/Resources/config/services.yml
784-
parameters:
785-
# ...
786-
787748
services:
788749
newsletter_manager:
789-
class: "%newsletter_manager.class%"
750+
class: Acme\HelloBundle\Newsletter\NewsletterManager
790751
arguments: ["@?my_mailer"]
791752
792753
.. code-block:: xml
@@ -801,7 +762,7 @@ it exists and do nothing if it doesn't:
801762
<service id="my_mailer">
802763
<!-- ... -->
803764
</service>
804-
<service id="newsletter_manager" class="%newsletter_manager.class%">
765+
<service id="newsletter_manager" class="Acme\HelloBundle\Newsletter\NewsletterManager">
805766
<argument type="service" id="my_mailer" on-invalid="ignore" />
806767
</service>
807768
</services>
@@ -814,15 +775,9 @@ it exists and do nothing if it doesn't:
814775
use Symfony\Component\DependencyInjection\Reference;
815776
use Symfony\Component\DependencyInjection\ContainerInterface;
816777
817-
// ...
818-
$container->setParameter(
819-
'newsletter_manager.class',
820-
'Acme\HelloBundle\Newsletter\NewsletterManager'
821-
);
822-
823778
$container->setDefinition('my_mailer', ...);
824779
$container->setDefinition('newsletter_manager', new Definition(
825-
'%newsletter_manager.class%',
780+
'Acme\HelloBundle\Newsletter\NewsletterManager',
826781
array(
827782
new Reference(
828783
'my_mailer',
@@ -899,7 +854,7 @@ Configuring the service container is easy:
899854
# src/Acme/HelloBundle/Resources/config/services.yml
900855
services:
901856
newsletter_manager:
902-
class: "%newsletter_manager.class%"
857+
class: Acme\HelloBundle\Newsletter\NewsletterManager
903858
arguments: ["@mailer", "@templating"]
904859
905860
.. code-block:: xml
@@ -910,7 +865,7 @@ Configuring the service container is easy:
910865
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
911866
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
912867
913-
<service id="newsletter_manager" class="%newsletter_manager.class%">
868+
<service id="newsletter_manager" class="Acme\HelloBundle\Newsletter\NewsletterManager">
914869
<argument type="service" id="mailer"/>
915870
<argument type="service" id="templating"/>
916871
</service>
@@ -920,7 +875,7 @@ Configuring the service container is easy:
920875
921876
// src/Acme/HelloBundle/Resources/config/services.php
922877
$container->setDefinition('newsletter_manager', new Definition(
923-
'%newsletter_manager.class%',
878+
'Acme\HelloBundle\Newsletter\NewsletterManager',
924879
array(
925880
new Reference('mailer'),
926881
new Reference('templating'),

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.