8000 Merge branch '4.4' into 5.0 · symfony/symfony@da30c7a · GitHub
[go: up one dir, main page]

Skip to content

Commit da30c7a

Browse files
Merge branch '4.4' into 5.0
* 4.4: [Messenger] fix computing the id of same-name middleware
2 parents 7373802 + b7c6d20 commit da30c7a

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -339,14 +339,17 @@ private function registerBusMiddleware(ContainerBuilder $container, string $busI
339339
if ($container->findDefinition($messengerMiddlewareId)->isAbstract()) {
340340
$childDefinition = new ChildDefinition($messengerMiddlewareId);
341341
$childDefinition->setArguments($arguments);
342-
$container->setDefinition($messengerMiddlewareId = $busId.'.middleware.'.$id.'.'.ContainerBuilder::hash($arguments), $childDefinition);
342+
if (isset($middlewareReferences[$messengerMiddlewareId = $busId.'.middleware.'.$id])) {
343+
$messengerMiddlewareId .= '.'.ContainerBuilder::hash($arguments);
344+
}
345+
$container->setDefinition($messengerMiddlewareId, $childDefinition);
343346
} elseif ($arguments) {
344347
throw new RuntimeException(sprintf('Invalid middleware factory "%s": a middleware factory must be an abstract definition.', $id));
345348
}
346349

347-
$middlewareReferences[] = new Reference($messengerMiddlewareId);
350+
$middlewareReferences[$messengerMiddlewareId] = new Reference($messengerMiddlewareId);
348351
}
349352

350-
$container->getDefinition($busId)->replaceArgument(0, new IteratorArgument($middlewareReferences));
353+
$container->getDefinition($busId)->replaceArgument(0, new IteratorArgument(array_values($middlewareReferences)));
351354
}
352355
}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -517,7 +517,7 @@ public function testRegistersMiddlewareFromServices()
517517
(new ResolveChildDefinitionsPass())->process($container);
518518

519519
$this->assertTrue($container->hasDefinition(
520-
$factoryChildMiddlewareArgs1Id = $fooBusId.'.middleware.middleware_with_factory.'.ContainerBuilder::hash($factoryChildMiddlewareArgs1)
520+
$factoryChildMiddlewareArgs1Id = $fooBusId.'.middleware.middleware_with_factory'
521521
));
522522
$this->assertEquals(
523523
['foo', 'bar'],
@@ -535,7 +535,7 @@ public function testRegistersMiddlewareFromServices()
535535
);
536536

537537
$this->assertTrue($container->hasDefinition(
538-
$factoryWithDefaultChildMiddlewareId = $fooBusId.'.middleware.middleware_with_factory_using_default.'.ContainerBuilder::hash([])
538+
$factoryWithDefaultChildMiddlewareId = $fooBusId.'.middleware.middleware_with_factory_using_default'
539539
));
540540
$this->assertEquals(
541541
['some_default'],

0 commit comments

Comments
 (0)
0