Skip to content

Commit b3e0467

Browse files
[7.0] Remove remaining deprecated code paths
1 parent cdf1b0a commit b3e0467

File tree

2 files changed

+12
-344
lines changed

2 files changed

+12
-344
lines changed

DependencyInjection/CompilerPass/RegisterEventListenersAndSubscribersPass.php

Lines changed: 12 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
use Symfony\Component\DependencyInjection\Reference;
2323

2424
/**
25-
* Registers event listeners and subscribers to the available doctrine connections.
25+
* Registers event listeners to the available doctrine connections.
2626
*
2727
* @author Jeremy Mikola <[email protected]>
2828
* @author Alexander <[email protected]>
@@ -44,7 +44,7 @@ class RegisterEventListenersAndSubscribersPass implements CompilerPassInterface
4444
/**
4545
* @param string $managerTemplate sprintf() template for generating the event
4646
* manager's service ID for a connection name
47-
* @param string $tagPrefix Tag prefix for listeners and subscribers
47+
* @param string $tagPrefix Tag prefix for listeners
4848
*/
4949
public function __construct(string $connectionsParameter, string $managerTemplate, string $tagPrefix)
5050
{
@@ -72,18 +72,13 @@ public function process(ContainerBuilder $container): void
7272

7373
private function addTaggedServices(ContainerBuilder $container): array
7474
{
75-
$listenerTag = $this->tagPrefix.'.event_listener';
76-
$subscriberTag = $this->tagPrefix.'.event_subscriber';
7775
$listenerRefs = [];
78-
$taggedServices = $this->findAndSortTags($subscriberTag, $listenerTag, $container);
79-
8076
$managerDefs = [];
81-
foreach ($taggedServices as $taggedSubscriber) {
82-
[$tagName, $id, $tag] = $taggedSubscriber;
77+
foreach ($this->findAndSortTags($container) as [$id, $tag]) {
8378
$connections = isset($tag['connection'])
8479
? [$container->getParameterBag()->resolveValue($tag['connection'])]
8580
: array_keys($this->connections);
86-
if ($listenerTag === $tagName && !isset($tag['event'])) {
81+
if (!isset($tag['event'])) {
8782
throw new InvalidArgumentException(sprintf('Doctrine event listener "%s" must specify the "event" attribute.', $id));
8883
}
8984
foreach ($connections as $con) {
@@ -105,19 +100,10 @@ private function addTaggedServices(ContainerBuilder $container): array
105100
if (ContainerAwareEventManager::class === $managerClass) {
106101
$refs = $managerDef->getArguments()[1] ?? [];
107102
$listenerRefs[$con][$id] = new Reference($id);
108-
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);
110-
$refs[] = $id;
111-
} else {
112-
$refs[] = [[$tag['event']], $id];
113-
}
103+
$refs[] = [[$tag['event']], $id];
114104
$managerDef->setArgument(1, $refs);
115105
} else {
116-
if ($subscriberTag === $tagName) {
117-
$managerDef->addMethodCall('addEventSubscriber', [new Reference($id)]);
118-
} else {
119-
$managerDef->addMethodCall('addEventListener', [[$tag['event']], new Reference($id)]);
120-
}
106+
$managerDef->addMethodCall('addEventListener', [[$tag['event']], new Reference($id)]);
121107
}
122108
}
123109
}
@@ -144,21 +130,14 @@ private function getEventManagerDef(ContainerBuilder $container, string $name):
144130
* @see https://bugs.php.net/53710
145131
* @see https://bugs.php.net/60926
146132
*/
147-
private function findAndSortTags(string $subscriberTag, string $listenerTag, ContainerBuilder $container): array
133+
private function findAndSortTags(ContainerBuilder $container): array
148134
{
149135
$sortedTags = [];
150-
$taggedIds = [
151-
$subscriberTag => $container->findTaggedServiceIds($subscriberTag, true),
152-
$listenerTag => $container->findTaggedServiceIds($listenerTag, true),
153-
];
154-
$taggedIds[$subscriberTag] = array_diff_key($taggedIds[$subscriberTag], $taggedIds[$listenerTag]);
155-
156-
foreach ($taggedIds as $tagName => $serviceIds) {
157-
foreach ($serviceIds as $serviceId => $tags) {
158-
foreach ($tags as $attributes) {
159-
$priority = $attributes['priority'] ?? 0;
160-
$sortedTags[$priority][] = [$tagName, $serviceId, $attributes];
161-
}
136+
137+
foreach ($container->findTaggedServiceIds($this->tagPrefix.'.event_listener', true) as $serviceId => $tags) {
138+
foreach ($tags as $attributes) {
139+
$priority = $attributes['priority'] ?? 0;
140+
$sortedTags[$priority][] = [$serviceId, $attributes];
162141
}
163142
}
164143

0 commit comments

Comments
 (0)