Movatterモバイル変換


[0]ホーム

URL:


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

Sign up
Appearance settings

Commit9d5f50d

Browse files
committed
bug#27162 [FrameworkBundle][Messenger] Remove convention-based service id generation for buses (nicolas-grekas)
This PR was merged into the 4.1-dev branch.Discussion----------[FrameworkBundle][Messenger] Remove convention-based service id generation for buses| Q | A| ------------- | ---| Branch? | master| Bug fix? | yes (DX)| New feature? | no| BC breaks? | no| Deprecations? | no| Tests pass? | yes| Fixed tickets | -| License | MIT| Doc PR | -Service ids for buses are user facing ids: ppl *will* have to deal with them when wiring their services.Like for cache pools, we should ask ppl to declare them using full identifiers, instead of having a convention-based way to turn a name into and id (which is something nobody will be able to remember at some point.)Commits-------c7a0045 [FrameworkBundle][Messenger] Remove convention-based service id generation for buses
2 parents07ea1bb +c7a0045 commit9d5f50d

File tree

6 files changed

+21
-26
lines changed

6 files changed

+21
-26
lines changed

‎src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php‎

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1466,23 +1466,21 @@ private function registerMessengerConfiguration(array $config, ContainerBuilder
14661466
thrownewLogicException(sprintf('You need to define a default bus with the "default_bus" configuration. Possible values: %s',implode(',',array_keys($config['buses']))));
14671467
}
14681468

1469-
$config['default_bus'] =array_keys($config['buses'])[0];
1469+
$config['default_bus'] =key($config['buses']);
14701470
}
14711471

14721472
$defaultMiddlewares =array('before' =>array('logging'),'after' =>array('route_messages','call_message_handler'));
1473-
foreach ($config['buses']as$name =>$bus) {
1474-
$busId ='messenger.bus.'.$name;
1475-
1473+
foreach ($config['buses']as$busId =>$bus) {
14761474
$middlewares =$bus['default_middlewares'] ?array_merge($defaultMiddlewares['before'],$bus['middlewares'],$defaultMiddlewares['after']) :$bus['middlewares'];
14771475

14781476
if (!$validationConfig['enabled'] &&\in_array('messenger.middleware.validation',$middlewares,true)) {
14791477
thrownewLogicException('The Validation middleware is only available when the Validator component is installed and enabled. Try running "composer require symfony/validator".');
14801478
}
14811479

14821480
$container->setParameter($busId.'.middlewares',$middlewares);
1483-
$container->setDefinition($busId, (newDefinition(MessageBus::class,array(array())))->addTag('messenger.bus',array('name' =>$name)));
1481+
$container->setDefinition($busId, (newDefinition(MessageBus::class,array(array())))->addTag('messenger.bus'));
14841482

1485-
if ($name ===$config['default_bus']) {
1483+
if ($busId ===$config['default_bus']) {
14861484
$container->setAlias('message_bus',$busId);
14871485
$container->setAlias(MessageBusInterface::class,$busId);
14881486
}

‎src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/php/messenger_multiple_buses.php‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22

33
$container->loadFromExtension('framework',array(
44
'messenger' =>array(
5-
'default_bus' =>'commands',
5+
'default_bus' =>'messenger.bus.commands',
66
'buses' =>array(
7-
'commands' =>null,
8-
'events' =>array(
7+
'messenger.bus.commands' =>null,
8+
'messenger.bus.events' =>array(
99
'middlewares' =>array(
1010
'tolerate_no_handler',
1111
),
1212
),
13-
'queries' =>array(
13+
'messenger.bus.queries' =>array(
1414
'default_middlewares' =>false,
1515
'middlewares' =>array(
1616
'route_messages',

‎src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/xml/messenger_multiple_buses.xml‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@
66
http://symfony.com/schema/dic/symfony http://symfony.com/schema/dic/symfony/symfony-1.0.xsd">
77

88
<framework:config>
9-
<framework:messengerdefault-bus="commands">
10-
<framework:busname="commands" />
11-
<framework:busname="events">
9+
<framework:messengerdefault-bus="messenger.bus.commands">
10+
<framework:busname="messenger.bus.commands" />
11+
<framework:busname="messenger.bus.events">
1212
<framework:middleware>tolerate_no_handler</framework:middleware>
1313
</framework:bus>
14-
<framework:busname="queries"default-middlewares="false">
14+
<framework:busname="messenger.bus.queries"default-middlewares="false">
1515
<framework:middleware>route_messages</framework:middleware>
1616
<framework:middleware>tolerate_no_handler</framework:middleware>
1717
<framework:middleware>call_message_handler</framework:middleware>

‎src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/yml/messenger_multiple_buses.yml‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
framework:
22
messenger:
3-
default_bus:commands
3+
default_bus:messenger.bus.commands
44
buses:
5-
commands:~
6-
events:
5+
messenger.bus.commands:~
6+
messenger.bus.events:
77
middlewares:
88
-"tolerate_no_handler"
9-
queries:
9+
messenger.bus.queries:
1010
default_middlewares:false
1111
middlewares:
1212
-"route_messages"

‎src/Symfony/Component/Messenger/DependencyInjection/MessengerPass.php‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ private function registerBusToCollector(ContainerBuilder $container, string $bus
197197
(newDefinition(TraceableMessageBus::class,array(newReference($tracedBusId.'.inner'))))->setDecoratedService($busId)
198198
);
199199

200-
$container->getDefinition('messenger.data_collector')->addMethodCall('registerBus',array($tag['name'] ??$busId,newReference($tracedBusId)));
200+
$container->getDefinition('messenger.data_collector')->addMethodCall('registerBus',array($busId,newReference($tracedBusId)));
201201
}
202202

203203
privatefunctionregisterBusMiddlewares(ContainerBuilder$container,string$busId,array$middlewares)

‎src/Symfony/Component/Messenger/Tests/DependencyInjection/MessengerPassTest.php‎

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -247,23 +247,20 @@ public function testRegistersTraceableBusesToCollector()
247247

248248
$container =$this->getContainerBuilder();
249249
$container->register('messenger.data_collector',$dataCollector);
250-
$container->register($fooBusId ='messenger.bus.foo', MessageBusInterface::class)->addTag('messenger.bus',array('name' =>'foo'));
251-
$container->register($barBusId ='messenger.bus.bar', MessageBusInterface::class)->addTag('messenger.bus');
250+
$container->register($fooBusId ='messenger.bus.foo', MessageBusInterface::class)->addTag('messenger.bus');
252251
$container->setParameter('kernel.debug',true);
253252

254253
(newMessengerPass())->process($container);
255254

256255
$this->assertTrue($container->hasDefinition($debuggedFooBusId ='debug.traced.'.$fooBusId));
257256
$this->assertSame(array($fooBusId,null,0),$container->getDefinition($debuggedFooBusId)->getDecoratedService());
258-
$this->assertTrue($container->hasDefinition($debuggedBarBusId ='debug.traced.'.$barBusId));
259-
$this->assertSame(array($barBusId,null,0),$container->getDefinition($debuggedBarBusId)->getDecoratedService());
260-
$this->assertEquals(array(array('registerBus',array('foo',newReference($debuggedFooBusId))),array('registerBus',array('messenger.bus.bar',newReference($debuggedBarBusId)))),$container->getDefinition('messenger.data_collector')->getMethodCalls());
257+
$this->assertEquals(array(array('registerBus',array($fooBusId,newReference($debuggedFooBusId)))),$container->getDefinition('messenger.data_collector')->getMethodCalls());
261258
}
262259

263260
publicfunctiontestRegistersMiddlewaresFromServices()
264261
{
265262
$container =$this->getContainerBuilder();
266-
$container->register($fooBusId ='messenger.bus.foo', MessageBusInterface::class)->setArgument(0,array())->addTag('messenger.bus',array('name' =>'foo'));
263+
$container->register($fooBusId ='messenger.bus.foo', MessageBusInterface::class)->setArgument(0,array())->addTag('messenger.bus');
267264
$container->register('messenger.middleware.allow_no_handler', AllowNoHandlerMiddleware::class)->setAbstract(true);
268265
$container->register(UselessMiddleware::class, UselessMiddleware::class);
269266

@@ -283,7 +280,7 @@ public function testRegistersMiddlewaresFromServices()
283280
publicfunctiontestCannotRegistersAnUndefinedMiddleware()
284281
{
285282
$container =$this->getContainerBuilder();
286-
$container->register($fooBusId ='messenger.bus.foo', MessageBusInterface::class)->setArgument(0,array())->addTag('messenger.bus',array('name' =>'foo'));
283+
$container->register($fooBusId ='messenger.bus.foo', MessageBusInterface::class)->setArgument(0,array())->addTag('messenger.bus');
287284
$container->setParameter($middlewaresParameter =$fooBusId.'.middlewares',array('not_defined_middleware'));
288285

289286
(newMessengerPass())->process($container);

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp