Skip to content

Commit 3121816

Browse files
committed
Drop Symfony < 5.1 🔥
1 parent 652c071 commit 3121816

7 files changed

+68
-219
lines changed

Diff for: AsyncEventDispatcher.php

+8-39
Original file line numberDiff line numberDiff line change
@@ -2,48 +2,17 @@
22

33
namespace Enqueue\AsyncEventDispatcher;
44

5-
use Symfony\Component\EventDispatcher\Event;
6-
7-
if (class_exists(Event::class)) {
8-
/**
9-
* Symfony < 5.0.
10-
*/
11-
class AsyncEventDispatcher extends AbstractAsyncEventDispatcher
5+
class AsyncEventDispatcher extends AbstractAsyncEventDispatcher
6+
{
7+
public function dispatch(object $event, string $eventName = null): object
128
{
13-
/**
14-
* {@inheritdoc}
15-
*/
16-
public function dispatch($event, $eventName = null)
17-
{
18-
$this->parentDispatch($event, $eventName);
19-
20-
return $this->trueEventDispatcher->dispatch($event, $eventName);
21-
}
9+
$this->parentDispatch($event, $eventName);
2210

23-
protected function parentDispatch($event, $eventName)
24-
{
25-
parent::dispatch($event, $eventName);
26-
}
11+
return $this->trueEventDispatcher->dispatch($event, $eventName);
2712
}
28-
} else {
29-
/**
30-
* Symfony >= 5.0.
31-
*/
32-
class AsyncEventDispatcher extends AbstractAsyncEventDispatcher
33-
{
34-
/**
35-
* {@inheritdoc}
36-
*/
37-
public function dispatch(object $event, string $eventName = null): object
38-
{
39-
$this->parentDispatch($event, $eventName);
4013

41-
return $this->trueEventDispatcher->dispatch($event, $eventName);
42-
}
43-
44-
protected function parentDispatch($event, $eventName)
45-
{
46-
return parent::dispatch($event, $eventName);
47-
}
14+
protected function parentDispatch($event, $eventName)
15+
{
16+
return parent::dispatch($event, $eventName);
4817
}
4918
}

Diff for: AsyncListener.php

+14-52
Original file line numberDiff line numberDiff line change
@@ -2,66 +2,28 @@
22

33
namespace Enqueue\AsyncEventDispatcher;
44

5-
use Symfony\Component\EventDispatcher\Event;
6-
use Symfony\Contracts\EventDispatcher\Event as ContractEvent;
5+
use Symfony\Contracts\EventDispatcher\Event;
76

8-
if (class_exists(Event::class)) {
9-
/**
10-
* Symfony < 5.0.
11-
*/
12-
class AsyncListener extends AbstractAsyncListener
7+
class AsyncListener extends AbstractAsyncListener
8+
{
9+
public function __invoke(Event $event, $eventName)
1310
{
14-
/**
15-
* @param Event|ContractEvent $event
16-
* @param string $eventName
17-
*/
18-
public function __invoke($event, $eventName)
19-
{
20-
$this->onEvent($event, $eventName);
21-
}
22-
23-
/**
24-
* @param Event|ContractEvent $event
25-
* @param string $eventName
26-
*/
27-
public function onEvent($event, $eventName)
28-
{
29-
if (false == isset($this->syncMode[$eventName])) {
30-
$transformerName = $this->registry->getTransformerNameForEvent($eventName);
31-
32-
$message = $this->registry->getTransformer($transformerName)->toMessage($eventName, $event);
33-
$message->setProperty('event_name', $eventName);
34-
$message->setProperty('transformer_name', $transformerName);
35-
36-
$this->context->createProducer()->send($this->eventQueue, $message);
37-
}
38-
}
11+
$this->onEvent($event, $eventName);
3912
}
40-
} else {
13+
4114
/**
42-
* Symfony >= 5.0.
15+
* @param string $eventName
4316
*/
44-
class AsyncListener extends AbstractAsyncListener
17+
public function onEvent(Event $event, $eventName)
4518
{
46-
public function __invoke(ContractEvent $event, $eventName)
47-
{
48-
$this->onEvent($event, $eventName);
49-
}
50-
51-
/**
52-
* @param string $eventName
53-
*/
54-
public function onEvent(ContractEvent $event, $eventName)
55-
{
56-
if (false == isset($this->syncMode[$eventName])) {
57-
$transformerName = $this->registry->getTransformerNameForEvent($eventName);
19+
if (false == isset($this->syncMode[$eventName])) {
20+
$transformerName = $this->registry->getTransformerNameForEvent($eventName);
5821

59-
$message = $this->registry->getTransformer($transformerName)->toMessage($eventName, $event);
60-
$message->setProperty('event_name', $eventName);
61-
$message->setProperty('transformer_name', $transformerName);
22+
$message = $this->registry->getTransformer($transformerName)->toMessage($eventName, $event);
23+
$message->setProperty('event_name', $eventName);
24+
$message->setProperty('transformer_name', $transformerName);
6225

63-
$this->context->createProducer()->send($this->eventQueue, $message);
64-
}
26+
$this->context->createProducer()->send($this->eventQueue, $message);
6527
}
6628
}
6729
}

Diff for: DependencyInjection/AsyncEventsPass.php

+14-42
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,6 @@ public function process(ContainerBuilder $container): void
2222

2323
$defaultClient = $container->getParameter('enqueue.default_client');
2424

25-
// TODO: Remove when dropping Symfony < 5.3
26-
$useLegacyDispatcherConfig = (Kernel::VERSION_ID < 50300);
27-
2825
$registeredToEvent = [];
2926
foreach ($container->findTaggedServiceIds('kernel.event_listener') as $serviceId => $tagAttributes) {
3027
foreach ($tagAttributes as $tagAttribute) {
@@ -34,13 +31,6 @@ public function process(ContainerBuilder $container): void
3431

3532
$event = $tagAttribute['event'];
3633

37-
$service = $container->getDefinition($serviceId);
38-
39-
if ($useLegacyDispatcherConfig) {
40-
$service->clearTag('kernel.event_listener');
41-
$service->addTag('enqueue.async_event_listener', $tagAttribute);
42-
}
43-
4434
if (false == isset($registeredToEvent[$event])) {
4535
$container->getDefinition('enqueue.events.async_listener')
4636
->addTag('kernel.event_listener', [
@@ -49,15 +39,13 @@ public function process(ContainerBuilder $container): void
4939
])
5040
;
5141

52-
if (!$useLegacyDispatcherConfig) {
53-
$container->getDefinition('enqueue.events.async_listener')
54-
->addTag('kernel.event_listener', [
55-
'event' => $event,
56-
'method' => 'onEvent',
57-
'dispatcher' => 'enqueue.events.event_dispatcher',
58-
])
59-
;
60-
}
42+
$container->getDefinition('enqueue.events.async_listener')
43+
->addTag('kernel.event_listener', [
44+
'event' => $event,
45+
'method' => 'onEvent',
46+
'dispatcher' => 'enqueue.events.event_dispatcher',
47+
])
48+
;
6149

6250
$container->getDefinition('enqueue.events.async_processor')
6351
->addTag('enqueue.processor', [
@@ -79,11 +67,6 @@ public function process(ContainerBuilder $container): void
7967

8068
$service = $container->getDefinition($serviceId);
8169

82-
if ($useLegacyDispatcherConfig) {
83-
$service->clearTag('kernel.event_subscriber');
84-
$service->addTag('enqueue.async_event_subscriber', $tagAttribute);
85-
}
86-
8770
/** @var EventSubscriberInterface $serviceClass */
8871
$serviceClass = $service->getClass();
8972

@@ -96,15 +79,13 @@ public function process(ContainerBuilder $container): void
9679
])
9780
;
9881

99-
if (!$useLegacyDispatcherConfig) {
100-
$container->getDefinition('enqueue.events.async_listener')
101-
->addTag('kernel.event_listener', [
102-
'event' => $event,
103-
'method' => 'onEvent',
104-
'dispatcher' => 'enqueue.events.event_dispatcher',
105-
])
106-
;
107-
}
82+
$container->getDefinition('enqueue.events.async_listener')
83+
->addTag('kernel.event_listener', [
84+
'event' => $event,
85+
'method' => 'onEvent',
86+
'dispatcher' => 'enqueue.events.event_dispatcher',
87+
])
88+
;
10889

10990
$container->getDefinition('enqueue.events.async_processor')
11091
->addTag('enqueue.processor', [
@@ -118,14 +99,5 @@ public function process(ContainerBuilder $container): void
11899
}
119100
}
120101
}
121-
122-
if ($useLegacyDispatcherConfig) {
123-
$registerListenersPass = new RegisterListenersPass(
124-
'enqueue.events.event_dispatcher',
125-
'enqueue.async_event_listener',
126-
'enqueue.async_event_subscriber'
127-
);
128-
$registerListenersPass->process($container);
129-
}
130102
}
131103
}

Diff for: EventTransformer.php

+18-51
Original file line numberDiff line numberDiff line change
@@ -3,61 +3,28 @@
33
namespace Enqueue\AsyncEventDispatcher;
44

55
use Interop\Queue\Message;
6-
use Symfony\Component\EventDispatcher\Event;
7-
use Symfony\Contracts\EventDispatcher\Event as ContractEvent;
6+
use Symfony\Contracts\EventDispatcher\Event;
87

9-
if (class_exists(Event::class)) {
8+
interface EventTransformer
9+
{
1010
/**
11-
* Symfony < 5.0.
11+
* @param string $eventName
12+
*
13+
* @return Message
1214
*/
13-
interface EventTransformer
14-
{
15-
/**
16-
* @param string $eventName
17-
* @param ContractEvent|Event|null $event
18-
*
19-
* @return Message
20-
*/
21-
public function toMessage($eventName, $event = null);
15+
public function toMessage($eventName, Event $event = null);
2216

23-
/**
24-
* If you able to transform message back to event return it.
25-
* If you failed to transform for some reason you can return a string status.
26-
*
27-
* @param mixed $eventName
28-
*
29-
* @return ContractEvent|Event|string|object
30-
*
31-
* @see Process constants) or an object that implements __toString method.
32-
* The object must have a __toString method is supposed to be used as Processor::process return value.
33-
*/
34-
public function toEvent($eventName, Message $message);
35-
}
36-
} else {
3717
/**
38-
* Symfony >= 5.0.
18+
* If you able to transform message back to event return it.
19+
* If you failed to transform for some reason you can return a string status.
20+
*
21+
* @param mixed $eventNAme
22+
* @param mixed $eventName
23+
*
24+
* @return Event|string|object
25+
*
26+
* @see Process constants) or an object that implements __toString method.
27+
* The object must have a __toString method is supposed to be used as Processor::process return value.
3928
*/
40-
interface EventTransformer
41-
{
42-
/**
43-
* @param string $eventName
44-
*
45-
* @return Message
46-
*/
47-
public function toMessage($eventName, ContractEvent $event = null);
48-
49-
/**
50-
* If you able to transform message back to event return it.
51-
* If you failed to transform for some reason you can return a string status.
52-
*
53-
* @param mixed $eventNAme
54-
* @param mixed $eventName
55-
*
56-
* @return ContractEvent|string|object
57-
*
58-
* @see Process constants) or an object that implements __toString method.
59-
* The object must have a __toString method is supposed to be used as Processor::process return value.
60-
*/
61-
public function toEvent($eventName, Message $message);
62-
}
29+
public function toEvent($eventName, Message $message);
6330
}

Diff for: PhpSerializerEventTransformer.php

+5-22
Original file line numberDiff line numberDiff line change
@@ -2,29 +2,12 @@
22

33
namespace Enqueue\AsyncEventDispatcher;
44

5-
use Symfony\Component\EventDispatcher\Event;
6-
use Symfony\Contracts\EventDispatcher\Event as ContractEvent;
5+
use Symfony\Contracts\EventDispatcher\Event;
76

8-
if (class_exists(Event::class)) {
9-
/**
10-
* Symfony < 5.0.
11-
*/
12-
class PhpSerializerEventTransformer extends AbstractPhpSerializerEventTransformer implements EventTransformer
7+
class PhpSerializerEventTransformer extends AbstractPhpSerializerEventTransformer implements EventTransformer
8+
{
9+
public function toMessage($eventName, Event $event = null)
1310
{
14-
public function toMessage($eventName, $event = null)
15-
{
16-
return $this->context->createMessage(serialize($event));
17-
}
18-
}
19-
} else {
20-
/**
21-
* Symfony >= 5.0.
22-
*/
23-
class PhpSerializerEventTransformer extends AbstractPhpSerializerEventTransformer implements EventTransformer
24-
{
25-
public function toMessage($eventName, ContractEvent $event = null)
26-
{
27-
return $this->context->createMessage(serialize($event));
28-
}
11+
return $this->context->createMessage(serialize($event));
2912
}
3013
}

Diff for: Tests/AsyncListenerTest.php

+2-6
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,8 @@
1313
use Interop\Queue\Producer;
1414
use PHPUnit\Framework\MockObject\MockObject;
1515
use PHPUnit\Framework\TestCase;
16-
use Symfony\Component\EventDispatcher\Event;
1716
use Symfony\Component\EventDispatcher\GenericEvent;
18-
use Symfony\Component\HttpKernel\Kernel;
19-
use Symfony\Contracts\EventDispatcher\Event as ContractEvent;
17+
use Symfony\Contracts\EventDispatcher\Event;
2018

2119
class AsyncListenerTest extends TestCase
2220
{
@@ -73,9 +71,7 @@ public function testShouldDoNothingIfSyncModeOn()
7371

7472
$listener->syncMode('fooEvent');
7573

76-
$eventClass = Kernel::VERSION_ID >= 50000 ? ContractEvent::class : Event::class;
77-
78-
$listener->onEvent(new $eventClass(), 'fooEvent');
74+
$listener->onEvent(new Event(), 'fooEvent');
7975
$listener->onEvent(new GenericEvent(), 'fooEvent');
8076
}
8177

0 commit comments

Comments
 (0)