diff --git a/UPGRADE-5.1.md b/UPGRADE-5.1.md index ea110ecc66f8b..afa2f217ef430 100644 --- a/UPGRADE-5.1.md +++ b/UPGRADE-5.1.md @@ -1,6 +1,11 @@ UPGRADE FROM 5.0 to 5.1 ======================= +EventDispatcher +--------------- + + * Deprecated `LegacyEventDispatcherProxy`. Use the event dispatcher without the proxy. + FrameworkBundle --------------- diff --git a/UPGRADE-6.0.md b/UPGRADE-6.0.md index 1b97c43d9b2a9..31b749f65db4e 100644 --- a/UPGRADE-6.0.md +++ b/UPGRADE-6.0.md @@ -1,6 +1,11 @@ UPGRADE FROM 5.x to 6.0 ======================= +EventDispatcher +--------------- + + * Removed `LegacyEventDispatcherProxy`. Use the event dispatcher without the proxy. + FrameworkBundle --------------- diff --git a/src/Symfony/Component/EventDispatcher/CHANGELOG.md b/src/Symfony/Component/EventDispatcher/CHANGELOG.md index ce30074f8ae30..f4bddd3b54160 100644 --- a/src/Symfony/Component/EventDispatcher/CHANGELOG.md +++ b/src/Symfony/Component/EventDispatcher/CHANGELOG.md @@ -1,6 +1,11 @@ CHANGELOG ========= +5.1.0 +----- + + * The `LegacyEventDispatcherProxy` class has been deprecated. + 5.0.0 ----- diff --git a/src/Symfony/Component/EventDispatcher/LegacyEventDispatcherProxy.php b/src/Symfony/Component/EventDispatcher/LegacyEventDispatcherProxy.php index a44b766cc1ecc..c01e3f647c250 100644 --- a/src/Symfony/Component/EventDispatcher/LegacyEventDispatcherProxy.php +++ b/src/Symfony/Component/EventDispatcher/LegacyEventDispatcherProxy.php @@ -13,12 +13,14 @@ use Symfony\Contracts\EventDispatcher\EventDispatcherInterface; +@trigger_error(sprintf('%s is deprecated since Symfony 5.1, use the event dispatcher without the proxy.', LegacyEventDispatcherProxy::class), E_USER_DEPRECATED); + /** * A helper class to provide BC/FC with the legacy signature of EventDispatcherInterface::dispatch(). * - * This class should be deprecated in Symfony 5.1 - * * @author Nicolas Grekas + * + * @deprecated since Symfony 5.1. */ final class LegacyEventDispatcherProxy { diff --git a/src/Symfony/Component/Mailer/Mailer.php b/src/Symfony/Component/Mailer/Mailer.php index 260989e72166a..a7fb0daa84da3 100644 --- a/src/Symfony/Component/Mailer/Mailer.php +++ b/src/Symfony/Component/Mailer/Mailer.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Mailer; +use Symfony\Component\EventDispatcher\Event; use Symfony\Component\EventDispatcher\LegacyEventDispatcherProxy; use Symfony\Component\Mailer\Event\MessageEvent; use Symfony\Component\Mailer\Messenger\SendEmailMessage; @@ -32,7 +33,7 @@ public function __construct(TransportInterface $transport, MessageBusInterface $ { $this->transport = $transport; $this->bus = $bus; - $this->dispatcher = LegacyEventDispatcherProxy::decorate($dispatcher); + $this->dispatcher = class_exists(Event::class) ? LegacyEventDispatcherProxy::decorate($dispatcher) : $dispatcher; } public function send(RawMessage $message, Envelope $envelope = null): void diff --git a/src/Symfony/Component/Mailer/Transport/AbstractTransport.php b/src/Symfony/Component/Mailer/Transport/AbstractTransport.php index 1bc3fa12a5616..cf21c724b3137 100644 --- a/src/Symfony/Component/Mailer/Transport/AbstractTransport.php +++ b/src/Symfony/Component/Mailer/Transport/AbstractTransport.php @@ -13,6 +13,7 @@ use Psr\Log\LoggerInterface; use Psr\Log\NullLogger; +use Symfony\Component\EventDispatcher\Event; use Symfony\Component\EventDispatcher\LegacyEventDispatcherProxy; use Symfony\Component\Mailer\Envelope; use Symfony\Component\Mailer\Event\MessageEvent; @@ -33,7 +34,7 @@ abstract class AbstractTransport implements TransportInterface public function __construct(EventDispatcherInterface $dispatcher = null, LoggerInterface $logger = null) { - $this->dispatcher = LegacyEventDispatcherProxy::decorate($dispatcher); + $this->dispatcher = class_exists(Event::class) ? LegacyEventDispatcherProxy::decorate($dispatcher) : $dispatcher; $this->logger = $logger ?: new NullLogger(); } diff --git a/src/Symfony/Component/Messenger/Middleware/SendMessageMiddleware.php b/src/Symfony/Component/Messenger/Middleware/SendMessageMiddleware.php index 149c0c2415f55..213e797da75c5 100644 --- a/src/Symfony/Component/Messenger/Middleware/SendMessageMiddleware.php +++ b/src/Symfony/Component/Messenger/Middleware/SendMessageMiddleware.php @@ -13,6 +13,7 @@ use Psr\Log\LoggerAwareTrait; use Psr\Log\NullLogger; +use Symfony\Component\EventDispatcher\Event; use Symfony\Component\EventDispatcher\LegacyEventDispatcherProxy; use Symfony\Component\Messenger\Envelope; use Symfony\Component\Messenger\Event\SendMessageToTransportsEvent; @@ -35,13 +36,7 @@ class SendMessageMiddleware implements MiddlewareInterface public function __construct(SendersLocatorInterface $sendersLocator, EventDispatcherInterface $eventDispatcher = null) { $this->sendersLocator = $sendersLocator; - - if (null !== $eventDispatcher && class_exists(LegacyEventDispatcherProxy::class)) { - $this->eventDispatcher = LegacyEventDispatcherProxy::decorate($eventDispatcher); - } else { - $this->eventDispatcher = $eventDispatcher; - } - + $this->eventDispatcher = class_exists(Event::class) ? LegacyEventDispatcherProxy::decorate($eventDispatcher) : $eventDispatcher; $this->logger = new NullLogger(); } diff --git a/src/Symfony/Component/Messenger/Worker.php b/src/Symfony/Component/Messenger/Worker.php index 9ac7ebe697ce8..a1cca6b8023cc 100644 --- a/src/Symfony/Component/Messenger/Worker.php +++ b/src/Symfony/Component/Messenger/Worker.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Messenger; use Psr\Log\LoggerInterface; +use Symfony\Component\EventDispatcher\Event; use Symfony\Component\EventDispatcher\LegacyEventDispatcherProxy; use Symfony\Component\Messenger\Event\WorkerMessageFailedEvent; use Symfony\Component\Messenger\Event\WorkerMessageHandledEvent; @@ -48,12 +49,7 @@ public function __construct(array $receivers, MessageBusInterface $bus, EventDis $this->receivers = $receivers; $this->bus = $bus; $this->logger = $logger; - - if (null !== $eventDispatcher && class_exists(LegacyEventDispatcherProxy::class)) { - $this->eventDispatcher = LegacyEventDispatcherProxy::decorate($eventDispatcher); - } else { - $this->eventDispatcher = $eventDispatcher; - } + $this->eventDispatcher = class_exists(Event::class) ? LegacyEventDispatcherProxy::decorate($eventDispatcher) : $eventDispatcher; } /** diff --git a/src/Symfony/Component/Notifier/Chatter.php b/src/Symfony/Component/Notifier/Chatter.php index 63d75f25098b9..bbaf2841e8cfd 100644 --- a/src/Symfony/Component/Notifier/Chatter.php +++ b/src/Symfony/Component/Notifier/Chatter.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Notifier; +use Symfony\Component\EventDispatcher\Event; use Symfony\Component\EventDispatcher\LegacyEventDispatcherProxy; use Symfony\Component\Messenger\MessageBusInterface; use Symfony\Component\Notifier\Event\MessageEvent; @@ -33,7 +34,7 @@ public function __construct(TransportInterface $transport, MessageBusInterface $ { $this->transport = $transport; $this->bus = $bus; - $this->dispatcher = LegacyEventDispatcherProxy::decorate($dispatcher); + $this->dispatcher = class_exists(Event::class) ? LegacyEventDispatcherProxy::decorate($dispatcher) : $dispatcher; } public function __toString(): string diff --git a/src/Symfony/Component/Notifier/Texter.php b/src/Symfony/Component/Notifier/Texter.php index 957c5b30ce9e4..b5943380170e0 100644 --- a/src/Symfony/Component/Notifier/Texter.php +++ b/src/Symfony/Component/Notifier/Texter.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Notifier; +use Symfony\Component\EventDispatcher\Event; use Symfony\Component\EventDispatcher\LegacyEventDispatcherProxy; use Symfony\Component\Messenger\MessageBusInterface; use Symfony\Component\Notifier\Event\MessageEvent; @@ -33,7 +34,7 @@ public function __construct(TransportInterface $transport, MessageBusInterface $ { $this->transport = $transport; $this->bus = $bus; - $this->dispatcher = LegacyEventDispatcherProxy::decorate($dispatcher); + $this->dispatcher = class_exists(Event::class) ? LegacyEventDispatcherProxy::decorate($dispatcher) : $dispatcher; } public function __toString(): string diff --git a/src/Symfony/Component/Notifier/Transport/AbstractTransport.php b/src/Symfony/Component/Notifier/Transport/AbstractTransport.php index 1c22359feb219..b6f28660225ed 100644 --- a/src/Symfony/Component/Notifier/Transport/AbstractTransport.php +++ b/src/Symfony/Component/Notifier/Transport/AbstractTransport.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Notifier\Transport; +use Symfony\Component\EventDispatcher\Event; use Symfony\Component\EventDispatcher\LegacyEventDispatcherProxy; use Symfony\Component\HttpClient\HttpClient; use Symfony\Component\Notifier\Event\MessageEvent; @@ -45,7 +46,7 @@ public function __construct(HttpClientInterface $client = null, EventDispatcherI $this->client = HttpClient::create(); } - $this->dispatcher = LegacyEventDispatcherProxy::decorate($dispatcher); + $this->dispatcher = class_exists(Event::class) ? LegacyEventDispatcherProxy::decorate($dispatcher) : $dispatcher; } /** diff --git a/src/Symfony/Component/Notifier/Transport/AbstractTransportFactory.php b/src/Symfony/Component/Notifier/Transport/AbstractTransportFactory.php index be92b3c57883b..1edbbb07138aa 100644 --- a/src/Symfony/Component/Notifier/Transport/AbstractTransportFactory.php +++ b/src/Symfony/Component/Notifier/Transport/AbstractTransportFactory.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Notifier\Transport; +use Symfony\Component\EventDispatcher\Event; use Symfony\Component\EventDispatcher\LegacyEventDispatcherProxy; use Symfony\Component\Notifier\Exception\IncompleteDsnException; use Symfony\Contracts\EventDispatcher\EventDispatcherInterface; @@ -18,7 +19,6 @@ /** * @author Konstantin Myakshin - * * @author Fabien Potencier * * @experimental in 5.0 @@ -30,7 +30,7 @@ abstract class AbstractTransportFactory implements TransportFactoryInterface public function __construct(EventDispatcherInterface $dispatcher = null, HttpClientInterface $client = null) { - $this->dispatcher = LegacyEventDispatcherProxy::decorate($dispatcher); + $this->dispatcher = class_exists(Event::class) ? LegacyEventDispatcherProxy::decorate($dispatcher) : $dispatcher; $this->client = $client; } diff --git a/src/Symfony/Component/Security/Http/Firewall/ContextListener.php b/src/Symfony/Component/Security/Http/Firewall/ContextListener.php index 69066552d7ca6..74dfd3a92ea14 100644 --- a/src/Symfony/Component/Security/Http/Firewall/ContextListener.php +++ b/src/Symfony/Component/Security/Http/Firewall/ContextListener.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Security\Http\Firewall; use Psr\Log\LoggerInterface; +use Symfony\Component\EventDispatcher\Event; use Symfony\Component\EventDispatcher\LegacyEventDispatcherProxy; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Session\Session; @@ -66,12 +67,7 @@ public function __construct(TokenStorageInterface $tokenStorage, iterable $userP $this->userProviders = $userProviders; $this->sessionKey = '_security_'.$contextKey; $this->logger = $logger; - - if (null !== $dispatcher && class_exists(LegacyEventDispatcherProxy::class)) { - $this->dispatcher = LegacyEventDispatcherProxy::decorate($dispatcher); - } else { - $this->dispatcher = $dispatcher; - } + $this->dispatcher = class_exists(Event::class) ? LegacyEventDispatcherProxy::decorate($dispatcher) : $dispatcher; $this->trustResolver = $trustResolver ?: new AuthenticationTrustResolver(AnonymousToken::class, RememberMeToken::class); $this->sessionTrackerEnabler = $sessionTrackerEnabler; diff --git a/src/Symfony/Component/Security/Http/composer.json b/src/Symfony/Component/Security/Http/composer.json index 5cbf7c76618fb..52b59d083df5f 100644 --- a/src/Symfony/Component/Security/Http/composer.json +++ b/src/Symfony/Component/Security/Http/composer.json @@ -28,6 +28,7 @@ "psr/log": "~1.0" }, "conflict": { + "symfony/event-dispatcher": "<4.3", "symfony/security-csrf": "<4.4" }, "suggest": {