Skip to content

Commit cf63a86

Browse files
GromNaNnicolas-grekas
authored andcommitted
[DoctrineBridge] Adapt deprecation message to include ODM bundle attribute name
1 parent 8842d28 commit cf63a86

File tree

3 files changed

+7
-7
lines changed

3 files changed

+7
-7
lines changed

ContainerAwareEventManager.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -207,8 +207,8 @@ private function initializeSubscribers(): void
207207
if (\is_string($listener)) {
208208
$listener = $this->container->get($listener);
209209
}
210-
// throw new \InvalidArgumentException(sprintf('Using Doctrine subscriber "%s" is not allowed, declare it as a listener instead.', \is_object($listener) ? $listener::class : $listener));
211-
trigger_deprecation('symfony/doctrine-bridge', '6.3', 'Registering "%s" as a Doctrine subscriber is deprecated. Register it as a listener instead, using e.g. the #[AsDoctrineListener] attribute.', \is_object($listener) ? get_debug_type($listener) : $listener);
210+
// throw new \InvalidArgumentException(sprintf('Using Doctrine subscriber "%s" is not allowed. Register it as a listener instead, using e.g. the #[AsDoctrineListener] or #[AsDocumentListener] attribute.', \is_object($listener) ? $listener::class : $listener));
211+
trigger_deprecation('symfony/doctrine-bridge', '6.3', 'Registering "%s" as a Doctrine subscriber is deprecated. Register it as a listener instead, using e.g. the #[AsDoctrineListener] or #[AsDocumentListener] attribute.', \is_object($listener) ? get_debug_type($listener) : $listener);
212212
parent::addEventSubscriber($listener);
213213
}
214214
}

DependencyInjection/CompilerPass/RegisterEventListenersAndSubscribersPass.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ private function addTaggedServices(ContainerBuilder $container): array
106106
$refs = $managerDef->getArguments()[1] ?? [];
107107
$listenerRefs[$con][$id] = new Reference($id);
108108
if ($subscriberTag === $tagName) {
109-
trigger_deprecation('symfony/doctrine-bridge', '6.3', 'Registering "%s" as a Doctrine subscriber is deprecated. Register it as a listener instead, using e.g. the #[AsDoctrineListener] attribute.', $id);
109+
trigger_deprecation('symfony/doctrine-bridge', '6.3', 'Registering "%s" as a Doctrine subscriber is deprecated. Register it as a listener instead, using e.g. the #[%s] attribute.', $id, str_starts_with($this->tagPrefix, 'doctrine_mongodb') ? 'AsDocumentListener' : 'AsDoctrineListener');
110110
$refs[] = $id;
111111
} else {
112112
$refs[] = [[$tag['event']], $id];

Tests/ContainerAwareEventManagerTest.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public function testDispatchEventRespectOrderWithSubscribers()
5050
$this->container->set('sub1', $subscriber1 = new MySubscriber(['foo']));
5151
$this->container->set('sub2', $subscriber2 = new MySubscriber(['foo']));
5252

53-
$this->expectDeprecation('Since symfony/doctrine-bridge 6.3: Registering "Symfony\Bridge\Doctrine\Tests\MySubscriber" as a Doctrine subscriber is deprecated. Register it as a listener instead, using e.g. the #[AsDoctrineListener] attribute.');
53+
$this->expectDeprecation('Since symfony/doctrine-bridge 6.3: Registering "Symfony\Bridge\Doctrine\Tests\MySubscriber" as a Doctrine subscriber is deprecated. Register it as a listener instead, using e.g. the #[AsDoctrineListener] or #[AsDocumentListener] attribute.');
5454
$this->assertSame([$subscriber1, $subscriber2], array_values($this->evm->getListeners('foo')));
5555
}
5656

@@ -92,7 +92,7 @@ public function testDispatchEventWithSubscribers()
9292
$this->assertSame(0, $subscriber1->calledSubscribedEventsCount);
9393

9494
$this->container->set('lazy1', $listener1 = new MyListener());
95-
$this->expectDeprecation('Since symfony/doctrine-bridge 6.3: Registering "Symfony\Bridge\Doctrine\Tests\MySubscriber" as a Doctrine subscriber is deprecated. Register it as a listener instead, using e.g. the #[AsDoctrineListener] attribute.');
95+
$this->expectDeprecation('Since symfony/doctrine-bridge 6.3: Registering "Symfony\Bridge\Doctrine\Tests\MySubscriber" as a Doctrine subscriber is deprecated. Register it as a listener instead, using e.g. the #[AsDoctrineListener] or #[AsDocumentListener] attribute.');
9696
$this->evm->addEventListener('foo', 'lazy1');
9797
$this->evm->addEventListener('foo', $listener2 = new MyListener());
9898
$this->evm->addEventSubscriber($subscriber2 = new MySubscriber(['bar']));
@@ -177,7 +177,7 @@ public function testAddEventListenerAndSubscriberAfterDispatchEvent()
177177
$this->assertSame(0, $subscriber1->calledSubscribedEventsCount);
178178

179179
$this->container->set('lazy1', $listener1 = new MyListener());
180-
$this->expectDeprecation('Since symfony/doctrine-bridge 6.3: Registering "Symfony\Bridge\Doctrine\Tests\MySubscriber" as a Doctrine subscriber is deprecated. Register it as a listener instead, using e.g. the #[AsDoctrineListener] attribute.');
180+
$this->expectDeprecation('Since symfony/doctrine-bridge 6.3: Registering "Symfony\Bridge\Doctrine\Tests\MySubscriber" as a Doctrine subscriber is deprecated. Register it as a listener instead, using e.g. the #[AsDoctrineListener] or #[AsDocumentListener] attribute.');
181181
$this->evm->addEventListener('foo', 'lazy1');
182182
$this->assertSame(1, $subscriber1->calledSubscribedEventsCount);
183183

@@ -238,7 +238,7 @@ public function testGetListenersForEventWhenSubscribersArePresent()
238238

239239
$this->container->set('lazy', $listener1 = new MyListener());
240240
$this->container->set('lazy2', $subscriber1 = new MySubscriber(['foo']));
241-
$this->expectDeprecation('Since symfony/doctrine-bridge 6.3: Registering "Symfony\Bridge\Doctrine\Tests\MySubscriber" as a Doctrine subscriber is deprecated. Register it as a listener instead, using e.g. the #[AsDoctrineListener] attribute.');
241+
$this->expectDeprecation('Since symfony/doctrine-bridge 6.3: Registering "Symfony\Bridge\Doctrine\Tests\MySubscriber" as a Doctrine subscriber is deprecated. Register it as a listener instead, using e.g. the #[AsDoctrineListener] or #[AsDocumentListener] attribute.');
242242
$this->evm->addEventListener('foo', 'lazy');
243243
$this->evm->addEventListener('foo', $listener2 = new MyListener());
244244

0 commit comments

Comments
 (0)