[EventDispatcher] Better error reporting when arguments to dispatch() are swapped

This commit is contained in:
Rimas Kudelis 2019-11-28 12:42:53 +02:00 committed by Nicolas Grekas
parent da459d731f
commit 54aac56ab8
2 changed files with 2 additions and 2 deletions

View File

@ -54,7 +54,7 @@ class EventDispatcher implements EventDispatcherInterface
if (\is_object($event)) {
$eventName = $eventName ?? \get_class($event);
} elseif (\is_string($event) && (null === $eventName || $eventName instanceof Event)) {
} elseif (\is_string($event) && (null === $eventName || $eventName instanceof ContractsEvent || $eventName instanceof Event)) {
@trigger_error(sprintf('Calling the "%s::dispatch()" method with the event name as the first argument is deprecated since Symfony 4.3, pass it as the second argument and provide the event object as the first argument instead.', EventDispatcherInterface::class), E_USER_DEPRECATED);
$swap = $event;
$event = $eventName ?? new Event();

View File

@ -59,7 +59,7 @@ final class LegacyEventDispatcherProxy implements EventDispatcherInterface
if (\is_object($event)) {
$eventName = $eventName ?? \get_class($event);
} elseif (\is_string($event) && (null === $eventName || $eventName instanceof Event)) {
} elseif (\is_string($event) && (null === $eventName || $eventName instanceof ContractsEvent || $eventName instanceof Event)) {
@trigger_error(sprintf('Calling the "%s::dispatch()" method with the event name as the first argument is deprecated since Symfony 4.3, pass it as the second argument and provide the event object as the first argument instead.', ContractsEventDispatcherInterface::class), E_USER_DEPRECATED);
$swap = $event;
$event = $eventName ?? new Event();