Skip to content

Commit 283d898

Browse files
committed
feature #28920 [EventDispatcher] swap arguments of dispatch() to allow registering events by FQCN (nicolas-grekas)
This PR was merged into the 4.3-dev branch. Discussion ---------- [EventDispatcher] swap arguments of dispatch() to allow registering events by FQCN | Q | A | ------------- | --- | Branch? | master | Bug fix? | no | New feature? | yes | BC breaks? | no | Deprecations? | yes | Tests pass? | yes | Fixed tickets | - | License | MIT | Doc PR | - PR green and ready. From UPGRADE files: EventDispatcher --------------- * The signature of the `EventDispatcherInterface::dispatch()` method should be updated to `dispatch($event, string $eventName = null)`, not doing so is deprecated HttpKernel ---------- * Renamed `FilterControllerArgumentsEvent` to `ControllerArgumentsEvent` * Renamed `FilterControllerEvent` to `ControllerEvent` * Renamed `FilterResponseEvent` to `ResponseEvent` * Renamed `GetResponseEvent` to `RequestEvent` * Renamed `GetResponseForControllerResultEvent` to `ViewEvent` * Renamed `GetResponseForExceptionEvent` to `ExceptionEvent` * Renamed `PostResponseEvent` to `TerminateEvent` Security --------- * The `ListenerInterface` is deprecated, turn your listeners into callables instead. * The `Firewall::handleRequest()` method is deprecated, use `Firewall::callListeners()` instead. Commits ------- 75369dabb8 [EventDispatcher] swap arguments of dispatch() to allow registering events by FQCN
2 parents 1a1294a + e3b8c2b commit 283d898

File tree

3 files changed

+35
-4
lines changed

3 files changed

+35
-4
lines changed

Resources/config/services.xml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,38 @@
44
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
55
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
66

7+
<parameters>
8+
<!-- this parameter is used at compile time in RegisterListenersPass -->
9+
<parameter key="event_dispatcher.event_aliases" type="collection">
10+
<parameter key="Symfony\Component\Console\Event\ConsoleCommandEvent">console.command</parameter>
11+
<parameter key="Symfony\Component\Console\Event\ConsoleErrorEvent">console.error</parameter>
12+
<parameter key="Symfony\Component\Console\Event\ConsoleTerminateEvent">console.terminate</parameter>
13+
<parameter key="Symfony\Component\Form\Event\PreSubmitEvent">form.pre_submit</parameter>
14+
<parameter key="Symfony\Component\Form\Event\SubmitEvent">form.submit</parameter>
15+
<parameter key="Symfony\Component\Form\Event\PostSubmitEvent">form.post_submit</parameter>
16+
<parameter key="Symfony\Component\Form\Event\PreSetDataEvent">form.pre_set_data</parameter>
17+
<parameter key="Symfony\Component\Form\Event\PostSetDataEvent">form.post_set_data</parameter>
18+
<parameter key="Symfony\Component\HttpKernel\Event\ControllerArgumentsEvent">kernel.controller_arguments</parameter>
19+
<parameter key="Symfony\Component\HttpKernel\Event\ControllerEvent">kernel.controller</parameter>
20+
<parameter key="Symfony\Component\HttpKernel\Event\ResponseEvent">kernel.response</parameter>
21+
<parameter key="Symfony\Component\HttpKernel\Event\FinishRequestEvent">kernel.finish_request</parameter>
22+
<parameter key="Symfony\Component\HttpKernel\Event\RequestEvent">kernel.request</parameter>
23+
<parameter key="Symfony\Component\HttpKernel\Event\ViewEvent">kernel.view</parameter>
24+
<parameter key="Symfony\Component\HttpKernel\Event\ExceptionEvent">kernel.exception</parameter>
25+
<parameter key="Symfony\Component\HttpKernel\Event\TerminateEvent">kernel.terminate</parameter>
26+
<parameter key="Symfony\Component\Security\Core\Event\AuthenticationSuccessEvent">security.authentication.success</parameter>
27+
<parameter key="Symfony\Component\Security\Core\Event\AuthenticationFailureEvent">security.authentication.failure</parameter>
28+
<parameter key="Symfony\Component\Security\Http\Event\InteractiveLoginEvent">security.interactive_login</parameter>
29+
<parameter key="Symfony\Component\Security\Http\Event\SwitchUserEvent">security.switch_user</parameter>
30+
<parameter key="Symfony\Component\Workflow\Event\GuardEvent">workflow.guard</parameter>
31+
<parameter key="Symfony\Component\Workflow\Event\LeaveEvent">workflow.leave</parameter>
32+
<parameter key="Symfony\Component\Workflow\Event\TransitionEvent">workflow.transition</parameter>
33+
<parameter key="Symfony\Component\Workflow\Event\EnterEvent">workflow.enter</parameter>
34+
<parameter key="Symfony\Component\Workflow\Event\EnteredEvent">workflow.entered</parameter>
35+
<parameter key="Symfony\Component\Workflow\Event\CompletedEvent">workflow.completed</parameter>
36+
<parameter key="Symfony\Component\Workflow\Event\AnnounceEvent">workflow.announce</parameter>
37+
</parameter>
38+
</parameters>
739
<services>
840
<defaults public="false" />
941

Tests/EventListener/ResolveControllerNameSubscriberTest.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
use Symfony\Bundle\FrameworkBundle\EventListener\ResolveControllerNameSubscriber;
1616
use Symfony\Bundle\FrameworkBundle\Tests\TestCase;
1717
use Symfony\Component\HttpFoundation\Request;
18-
use Symfony\Component\HttpKernel\Event\GetResponseEvent;
18+
use Symfony\Component\HttpKernel\Event\RequestEvent;
1919
use Symfony\Component\HttpKernel\HttpKernelInterface;
2020

2121
class ResolveControllerNameSubscriberTest extends TestCase
@@ -33,7 +33,7 @@ public function testReplacesControllerAttribute()
3333
$request->attributes->set('_controller', 'AppBundle:Starting:format');
3434

3535
$subscriber = new ResolveControllerNameSubscriber($parser);
36-
$subscriber->onKernelRequest(new GetResponseEvent($httpKernel, $request, HttpKernelInterface::MASTER_REQUEST));
36+
$subscriber->onKernelRequest(new RequestEvent($httpKernel, $request, HttpKernelInterface::MASTER_REQUEST));
3737
$this->assertEquals('App\\Final\\Format::methodName', $request->attributes->get('_controller'));
3838
}
3939

@@ -51,7 +51,7 @@ public function testSkipsOtherControllerFormats($controller)
5151
$request->attributes->set('_controller', $controller);
5252

5353
$subscriber = new ResolveControllerNameSubscriber($parser);
54-
$subscriber->onKernelRequest(new GetResponseEvent($httpKernel, $request, HttpKernelInterface::MASTER_REQUEST));
54+
$subscriber->onKernelRequest(new RequestEvent($httpKernel, $request, HttpKernelInterface::MASTER_REQUEST));
5555
$this->assertEquals($controller, $request->attributes->get('_controller'));
5656
}
5757

composer.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
"symfony/config": "~4.2",
2323
"symfony/contracts": "^1.0.2",
2424
"symfony/dependency-injection": "^4.3",
25-
"symfony/event-dispatcher": "^4.1",
2625
"symfony/http-foundation": "^4.3",
2726
"symfony/http-kernel": "^4.3",
2827
"symfony/polyfill-mbstring": "~1.0",

0 commit comments

Comments
 (0)