Skip to content

Commit 1081fc0

Browse files
committed
Replace some old style services declarations
use ContainerConfiguration instead
1 parent 25231c5 commit 1081fc0

File tree

3 files changed

+51
-21
lines changed

3 files changed

+51
-21
lines changed

reference/dic_tags.rst

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -89,13 +89,20 @@ services:
8989
9090
.. code-block:: php
9191
92+
// config/services.php
93+
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
94+
9295
use App\Lock\MysqlLock;
9396
use App\Lock\PostgresqlLock;
9497
use App\Lock\SqliteLock;
9598
96-
$container->register('app.mysql_lock', MysqlLock::class);
97-
$container->register('app.postgresql_lock', PostgresqlLock::class);
98-
$container->register('app.sqlite_lock', SqliteLock::class);
99+
return function(ContainerConfigurator $configurator) {
100+
$services = $configurator->services();
101+
102+
$services->set('app.mysql_lock', MysqlLock::class);
103+
$services->set('app.postgresql_lock', PostgresqlLock::class);
104+
$services->set('app.sqlite_lock', SqliteLock::class);
105+
};
99106
100107
Instead of dealing with these three services, your application needs a generic
101108
``app.lock`` service that will be an alias to one of these services, depending on
@@ -144,16 +151,24 @@ the generic ``app.lock`` service can be defined as follows:
144151
145152
.. code-block:: php
146153
154+
// config/services.php
155+
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
156+
147157
use App\Lock\MysqlLock;
148158
use App\Lock\PostgresqlLock;
149159
use App\Lock\SqliteLock;
150160
151-
$container->register('app.mysql_lock', MysqlLock::class);
152-
$container->register('app.postgresql_lock', PostgresqlLock::class);
153-
$container->register('app.sqlite_lock', SqliteLock::class);
161+
return function(ContainerConfigurator $configurator) {
162+
$services = $configurator->services();
163+
164+
$services->set('app.mysql_lock', MysqlLock::class);
165+
$services->set('app.postgresql_lock', PostgresqlLock::class);
166+
$services->set('app.sqlite_lock', SqliteLock::class);
154167
155-
$container->register('app.lock')
156-
->addTag('auto_alias', ['format' => 'app.%database_type%_lock']);
168+
$services
169+
->set('app.lock')
170+
->tag('auto_alias', ['format' => 'app.%database_type%_lock']);
171+
};
157172
158173
The ``format`` option defines the expression used to construct the name of the service
159174
to alias. This expression can use any container parameter (as usual,

security/custom_authentication_provider.rst

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -422,21 +422,29 @@ to service ids that may not exist yet: ``App\Security\Authentication\Provider\Ws
422422
423423
.. code-block:: php
424424
425-
// config/services.php
425+
// config/services.php
426+
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
427+
426428
use App\Security\Authentication\Provider\WsseProvider;
427429
use App\Security\Firewall\WsseListener;
428430
use Symfony\Component\DependencyInjection\Reference;
429431
430-
$container->register(WsseProvider::class)
431-
->setArgument('$cachePool', new Reference('cache.app'))
432-
;
432+
return function(ContainerConfigurator $configurator) {
433+
$services = $configurator->services();
434+
435+
$services
436+
->set(WsseProvider::class)
437+
->arg('$cachePool', new Reference('cache.app'))
438+
;
433439
434-
$container->register(WsseListener::class)
435-
->setArguments([
436-
new Reference('security.token_storage'),
437-
new Reference('security.authentication.manager'),
438-
])
439-
;
440+
$services
441+
->set(WsseListener::class)
442+
->args([
443+
new Reference('security.token_storage'),
444+
new Reference('security.authentication.manager'),
445+
])
446+
;
447+
};
440448
441449
Now that your services are defined, tell your security context about your
442450
factory in the kernel::

serializer.rst

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -114,11 +114,18 @@ properties and setters (``setXxx()``) to change properties:
114114
.. code-block:: php
115115
116116
// config/services.php
117+
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
118+
117119
use Symfony\Component\Serializer\Normalizer\GetSetMethodNormalizer;
118120
119-
$container->register('get_set_method_normalizer', GetSetMethodNormalizer::class)
120-
->addTag('serializer.normalizer')
121-
;
121+
return function(ContainerConfigurator $configurator) {
122+
$services = $configurator->services();
123+
124+
$services
125+
->set('get_set_method_normalizer', GetSetMethodNormalizer::class)
126+
->tag('serializer.normalizer')
127+
;
128+
};
122129
123130
.. _serializer-using-serialization-groups-annotations:
124131

0 commit comments

Comments
 (0)