Skip to content

Commit bf7c4a4

Browse files
committed
Merge pull request #1411 from richardmiller/removing_bundles_from_di_component
Removed bundle namespaces from di component section
2 parents 6bbab2e + ad23808 commit bf7c4a4

File tree

2 files changed

+48
-95
lines changed

2 files changed

+48
-95
lines changed

components/dependency_injection/factories.rst

Lines changed: 18 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@ the object.
1515
Suppose you have a factory that configures and returns a new NewsletterManager
1616
object::
1717

18-
namespace Acme\HelloBundle\Newsletter;
19-
2018
class NewsletterFactory
2119
{
2220
public function get()
@@ -37,11 +35,10 @@ class:
3735

3836
.. code-block:: yaml
3937
40-
# src/Acme/HelloBundle/Resources/config/services.yml
4138
parameters:
4239
# ...
43-
newsletter_manager.class: Acme\HelloBundle\Newsletter\NewsletterManager
44-
newsletter_factory.class: Acme\HelloBundle\Newsletter\NewsletterFactory
40+
newsletter_manager.class: NewsletterManager
41+
newsletter_factory.class: NewsletterFactory
4542
services:
4643
newsletter_manager:
4744
class: %newsletter_manager.class%
@@ -50,11 +47,10 @@ class:
5047
5148
.. code-block:: xml
5249
53-
<!-- src/Acme/HelloBundle/Resources/config/services.xml -->
5450
<parameters>
5551
<!-- ... -->
56-
<parameter key="newsletter_manager.class">Acme\HelloBundle\Newsletter\NewsletterManager</parameter>
57-
<parameter key="newsletter_factory.class">Acme\HelloBundle\Newsletter\NewsletterFactory</parameter>
52+
<parameter key="newsletter_manager.class">NewsletterManager</parameter>
53+
<parameter key="newsletter_factory.class">NewsletterFactory</parameter>
5854
</parameters>
5955
6056
<services>
@@ -67,12 +63,11 @@ class:
6763
6864
.. code-block:: php
6965
70-
// src/Acme/HelloBundle/Resources/config/services.php
7166
use Symfony\Component\DependencyInjection\Definition;
7267
7368
// ...
74-
$container->setParameter('newsletter_manager.class', 'Acme\HelloBundle\Newsletter\NewsletterManager');
75-
$container->setParameter('newsletter_factory.class', 'Acme\HelloBundle\Newsletter\NewsletterFactory');
69+
$container->setParameter('newsletter_manager.class', 'NewsletterManager');
70+
$container->setParameter('newsletter_factory.class', 'NewsletterFactory');
7671
7772
$container->setDefinition('newsletter_manager', new Definition(
7873
'%newsletter_manager.class%'
@@ -91,11 +86,10 @@ factory itself as a service:
9186

9287
.. code-block:: yaml
9388
94-
# src/Acme/HelloBundle/Resources/config/services.yml
9589
parameters:
9690
# ...
97-
newsletter_manager.class: Acme\HelloBundle\Newsletter\NewsletterManager
98-
newsletter_factory.class: Acme\HelloBundle\Newsletter\NewsletterFactory
91+
newsletter_manager.class: NewsletterManager
92+
newsletter_factory.class: NewsletterFactory
9993
services:
10094
newsletter_factory:
10195
class: %newsletter_factory.class%
@@ -106,11 +100,10 @@ factory itself as a service:
106100
107101
.. code-block:: xml
108102
109-
<!-- src/Acme/HelloBundle/Resources/config/services.xml -->
110103
<parameters>
111104
<!-- ... -->
112-
<parameter key="newsletter_manager.class">Acme\HelloBundle\Newsletter\NewsletterManager</parameter>
113-
<parameter key="newsletter_factory.class">Acme\HelloBundle\Newsletter\NewsletterFactory</parameter>
105+
<parameter key="newsletter_manager.class">NewsletterManager</parameter>
106+
<parameter key="newsletter_factory.class">NewsletterFactory</parameter>
114107
</parameters>
115108
116109
<services>
@@ -124,12 +117,11 @@ factory itself as a service:
124117
125118
.. code-block:: php
126119
127-
// src/Acme/HelloBundle/Resources/config/services.php
128120
use Symfony\Component\DependencyInjection\Definition;
129121
130122
// ...
131-
$container->setParameter('newsletter_manager.class', 'Acme\HelloBundle\Newsletter\NewsletterManager');
132-
$container->setParameter('newsletter_factory.class', 'Acme\HelloBundle\Newsletter\NewsletterFactory');
123+
$container->setParameter('newsletter_manager.class', 'NewsletterManager');
124+
$container->setParameter('newsletter_factory.class', 'NewsletterFactory');
133125
134126
$container->setDefinition('newsletter_factory', new Definition(
135127
'%newsletter_factory.class%'
@@ -158,11 +150,10 @@ in the previous example takes the ``templating`` service as an argument:
158150

159151
.. code-block:: yaml
160152
161-
# src/Acme/HelloBundle/Resources/config/services.yml
162153
parameters:
163154
# ...
164-
newsletter_manager.class: Acme\HelloBundle\Newsletter\NewsletterManager
165-
newsletter_factory.class: Acme\HelloBundle\Newsletter\NewsletterFactory
155+
newsletter_manager.class: NewsletterManager
156+
newsletter_factory.class: NewsletterFactory
166157
services:
167158
newsletter_factory:
168159
class: %newsletter_factory.class%
@@ -175,11 +166,10 @@ in the previous example takes the ``templating`` service as an argument:
175166
176167
.. code-block:: xml
177168
178-
<!-- src/Acme/HelloBundle/Resources/config/services.xml -->
179169
<parameters>
180170
<!-- ... -->
181-
<parameter key="newsletter_manager.class">Acme\HelloBundle\Newsletter\NewsletterManager</parameter>
182-
<parameter key="newsletter_factory.class">Acme\HelloBundle\Newsletter\NewsletterFactory</parameter>
171+
<parameter key="newsletter_manager.class">NewsletterManager</parameter>
172+
<parameter key="newsletter_factory.class">NewsletterFactory</parameter>
183173
</parameters>
184174
185175
<services>
@@ -195,12 +185,11 @@ in the previous example takes the ``templating`` service as an argument:
195185
196186
.. code-block:: php
197187
198-
// src/Acme/HelloBundle/Resources/config/services.php
199188
use Symfony\Component\DependencyInjection\Definition;
200189
201190
// ...
202-
$container->setParameter('newsletter_manager.class', 'Acme\HelloBundle\Newsletter\NewsletterManager');
203-
$container->setParameter('newsletter_factory.class', 'Acme\HelloBundle\Newsletter\NewsletterFactory');
191+
$container->setParameter('newsletter_manager.class', 'NewsletterManager');
192+
$container->setParameter('newsletter_factory.class', 'NewsletterFactory');
204193
205194
$container->setDefinition('newsletter_factory', new Definition(
206195
'%newsletter_factory.class%'

components/dependency_injection/parentservices.rst

Lines changed: 30 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,6 @@ As you add more functionality to your application, you may well start to have
88
related classes that share some of the same dependencies. For example you
99
may have a Newsletter Manager which uses setter injection to set its dependencies::
1010

11-
namespace Acme\HelloBundle\Mail;
12-
13-
use Acme\HelloBundle\Mailer;
14-
use Acme\HelloBundle\EmailFormatter;
15-
1611
class NewsletterManager
1712
{
1813
protected $mailer;
@@ -32,11 +27,6 @@ may have a Newsletter Manager which uses setter injection to set its dependencie
3227

3328
and also a Greeting Card class which shares the same dependencies::
3429

35-
namespace Acme\HelloBundle\Mail;
36-
37-
use Acme\HelloBundle\Mailer;
38-
use Acme\HelloBundle\EmailFormatter;
39-
4030
class GreetingCardManager
4131
{
4232
protected $mailer;
@@ -60,11 +50,10 @@ The service config for these classes would look something like this:
6050

6151
.. code-block:: yaml
6252
63-
# src/Acme/HelloBundle/Resources/config/services.yml
6453
parameters:
6554
# ...
66-
newsletter_manager.class: Acme\HelloBundle\Mail\NewsletterManager
67-
greeting_card_manager.class: Acme\HelloBundle\Mail\GreetingCardManager
55+
newsletter_manager.class: NewsletterManager
56+
greeting_card_manager.class: GreetingCardManager
6857
services:
6958
my_mailer:
7059
# ...
@@ -84,11 +73,10 @@ The service config for these classes would look something like this:
8473
8574
.. code-block:: xml
8675
87-
<!-- src/Acme/HelloBundle/Resources/config/services.xml -->
8876
<parameters>
8977
<!-- ... -->
90-
<parameter key="newsletter_manager.class">Acme\HelloBundle\Mail\NewsletterManager</parameter>
91-
<parameter key="greeting_card_manager.class">Acme\HelloBundle\Mail\GreetingCardManager</parameter>
78+
<parameter key="newsletter_manager.class">NewsletterManager</parameter>
79+
<parameter key="greeting_card_manager.class">GreetingCardManager</parameter>
9280
</parameters>
9381
9482
<services>
@@ -118,13 +106,12 @@ The service config for these classes would look something like this:
118106
119107
.. code-block:: php
120108
121-
// src/Acme/HelloBundle/Resources/config/services.php
122109
use Symfony\Component\DependencyInjection\Definition;
123110
use Symfony\Component\DependencyInjection\Reference;
124111
125112
// ...
126-
$container->setParameter('newsletter_manager.class', 'Acme\HelloBundle\Mail\NewsletterManager');
127-
$container->setParameter('greeting_card_manager.class', 'Acme\HelloBundle\Mail\GreetingCardManager');
113+
$container->setParameter('newsletter_manager.class', 'NewsletterManager');
114+
$container->setParameter('greeting_card_manager.class', 'GreetingCardManager');
128115
129116
$container->setDefinition('my_mailer', ... );
130117
$container->setDefinition('my_email_formatter', ... );
@@ -150,11 +137,6 @@ in two places. Likewise if you needed to make changes to the setter methods
150137
you would need to do this in both classes. The typical way to deal with the
151138
common methods of these related classes would be to extract them to a super class::
152139

153-
namespace Acme\HelloBundle\Mail;
154-
155-
use Acme\HelloBundle\Mailer;
156-
use Acme\HelloBundle\EmailFormatter;
157-
158140
abstract class MailManager
159141
{
160142
protected $mailer;
@@ -175,17 +157,13 @@ common methods of these related classes would be to extract them to a super clas
175157
The ``NewsletterManager`` and ``GreetingCardManager`` can then extend this
176158
super class::
177159

178-
namespace Acme\HelloBundle\Mail;
179-
180160
class NewsletterManager extends MailManager
181161
{
182162
// ...
183163
}
184164

185165
and::
186166

187-
namespace Acme\HelloBundle\Mail;
188-
189167
class GreetingCardManager extends MailManager
190168
{
191169
// ...
@@ -199,12 +177,11 @@ a parent for a service.
199177

200178
.. code-block:: yaml
201179
202-
# src/Acme/HelloBundle/Resources/config/services.yml
203180
parameters:
204181
# ...
205-
newsletter_manager.class: Acme\HelloBundle\Mail\NewsletterManager
206-
greeting_card_manager.class: Acme\HelloBundle\Mail\GreetingCardManager
207-
mail_manager.class: Acme\HelloBundle\Mail\MailManager
182+
newsletter_manager.class: NewsletterManager
183+
greeting_card_manager.class: GreetingCardManager
184+
mail_manager.class: MailManager
208185
services:
209186
my_mailer:
210187
# ...
@@ -227,12 +204,11 @@ a parent for a service.
227204
228205
.. code-block:: xml
229206
230-
<!-- src/Acme/HelloBundle/Resources/config/services.xml -->
231207
<parameters>
232208
<!-- ... -->
233-
<parameter key="newsletter_manager.class">Acme\HelloBundle\Mail\NewsletterManager</parameter>
234-
<parameter key="greeting_card_manager.class">Acme\HelloBundle\Mail\GreetingCardManager</parameter>
235-
<parameter key="mail_manager.class">Acme\HelloBundle\Mail\MailManager</parameter>
209+
<parameter key="newsletter_manager.class">NewsletterManager</parameter>
210+
<parameter key="greeting_card_manager.class">GreetingCardManager</parameter>
211+
<parameter key="mail_manager.class">MailManager</parameter>
236212
</parameters>
237213
238214
<services>
@@ -256,14 +232,13 @@ a parent for a service.
256232
257233
.. code-block:: php
258234
259-
// src/Acme/HelloBundle/Resources/config/services.php
260235
use Symfony\Component\DependencyInjection\Definition;
261236
use Symfony\Component\DependencyInjection\Reference;
262237
263238
// ...
264-
$container->setParameter('newsletter_manager.class', 'Acme\HelloBundle\Mail\NewsletterManager');
265-
$container->setParameter('greeting_card_manager.class', 'Acme\HelloBundle\Mail\GreetingCardManager');
266-
$container->setParameter('mail_manager.class', 'Acme\HelloBundle\Mail\MailManager');
239+
$container->setParameter('newsletter_manager.class', 'NewsletterManager');
240+
$container->setParameter('greeting_card_manager.class', 'GreetingCardManager');
241+
$container->setParameter('mail_manager.class', 'MailManager');
267242
268243
$container->setDefinition('my_mailer', ... );
269244
$container->setDefinition('my_email_formatter', ... );
@@ -319,12 +294,11 @@ to the ``NewsletterManager`` class, the config would look like this:
319294

320295
.. code-block:: yaml
321296
322-
# src/Acme/HelloBundle/Resources/config/services.yml
323297
parameters:
324298
# ...
325-
newsletter_manager.class: Acme\HelloBundle\Mail\NewsletterManager
326-
greeting_card_manager.class: Acme\HelloBundle\Mail\GreetingCardManager
327-
mail_manager.class: Acme\HelloBundle\Mail\MailManager
299+
newsletter_manager.class: NewsletterManager
300+
greeting_card_manager.class: GreetingCardManager
301+
mail_manager.class: MailManager
328302
services:
329303
my_mailer:
330304
# ...
@@ -351,12 +325,11 @@ to the ``NewsletterManager`` class, the config would look like this:
351325
352326
.. code-block:: xml
353327
354-
<!-- src/Acme/HelloBundle/Resources/config/services.xml -->
355328
<parameters>
356329
<!-- ... -->
357-
<parameter key="newsletter_manager.class">Acme\HelloBundle\Mail\NewsletterManager</parameter>
358-
<parameter key="greeting_card_manager.class">Acme\HelloBundle\Mail\GreetingCardManager</parameter>
359-
<parameter key="mail_manager.class">Acme\HelloBundle\Mail\MailManager</parameter>
330+
<parameter key="newsletter_manager.class">NewsletterManager</parameter>
331+
<parameter key="greeting_card_manager.class">GreetingCardManager</parameter>
332+
<parameter key="mail_manager.class">MailManager</parameter>
360333
</parameters>
361334
362335
<services>
@@ -387,14 +360,13 @@ to the ``NewsletterManager`` class, the config would look like this:
387360
388361
.. code-block:: php
389362
390-
// src/Acme/HelloBundle/Resources/config/services.php
391363
use Symfony\Component\DependencyInjection\Definition;
392364
use Symfony\Component\DependencyInjection\Reference;
393365
394366
// ...
395-
$container->setParameter('newsletter_manager.class', 'Acme\HelloBundle\Mail\NewsletterManager');
396-
$container->setParameter('greeting_card_manager.class', 'Acme\HelloBundle\Mail\GreetingCardManager');
397-
$container->setParameter('mail_manager.class', 'Acme\HelloBundle\Mail\MailManager');
367+
$container->setParameter('newsletter_manager.class', 'NewsletterManager');
368+
$container->setParameter('greeting_card_manager.class', 'GreetingCardManager');
369+
$container->setParameter('mail_manager.class', 'MailManager');
398370
399371
$container->setDefinition('my_mailer', ... );
400372
$container->setDefinition('my_alternative_mailer', ... );
@@ -438,11 +410,6 @@ method call involves adding something to a collection, then two objects will
438410
be added to that collection. The following shows such a case, if the parent
439411
class looks like this::
440412

441-
namespace Acme\HelloBundle\Mail;
442-
443-
use Acme\HelloBundle\Mailer;
444-
use Acme\HelloBundle\EmailFormatter;
445-
446413
abstract class MailManager
447414
{
448415
protected $filters;
@@ -460,11 +427,10 @@ If you had the following config:
460427

461428
.. code-block:: yaml
462429
463-
# src/Acme/HelloBundle/Resources/config/services.yml
464430
parameters:
465431
# ...
466-
newsletter_manager.class: Acme\HelloBundle\Mail\NewsletterManager
467-
mail_manager.class: Acme\HelloBundle\Mail\MailManager
432+
newsletter_manager.class: NewsletterManager
433+
mail_manager.class: MailManager
468434
services:
469435
my_filter:
470436
# ...
@@ -484,11 +450,10 @@ If you had the following config:
484450
485451
.. code-block:: xml
486452
487-
<!-- src/Acme/HelloBundle/Resources/config/services.xml -->
488453
<parameters>
489454
<!-- ... -->
490-
<parameter key="newsletter_manager.class">Acme\HelloBundle\Mail\NewsletterManager</parameter>
491-
<parameter key="mail_manager.class">Acme\HelloBundle\Mail\MailManager</parameter>
455+
<parameter key="newsletter_manager.class">NewsletterManager</parameter>
456+
<parameter key="mail_manager.class">MailManager</parameter>
492457
</parameters>
493458
494459
<services>
@@ -512,13 +477,12 @@ If you had the following config:
512477
513478
.. code-block:: php
514479
515-
// src/Acme/HelloBundle/Resources/config/services.php
516480
use Symfony\Component\DependencyInjection\Definition;
517481
use Symfony\Component\DependencyInjection\Reference;
518482
519483
// ...
520-
$container->setParameter('newsletter_manager.class', 'Acme\HelloBundle\Mail\NewsletterManager');
521-
$container->setParameter('mail_manager.class', 'Acme\HelloBundle\Mail\MailManager');
484+
$container->setParameter('newsletter_manager.class', 'NewsletterManager');
485+
$container->setParameter('mail_manager.class', 'MailManager');
522486
523487
$container->setDefinition('my_filter', ... );
524488
$container->setDefinition('another_filter', ... );

0 commit comments

Comments
 (0)