8000 merged branch fabpot/data-collector (PR #5619) · markross/symfony@7a661d5 · GitHub
[go: up one dir, main page]

Skip to content
forked from symfony/symfony

Commit 7a661d5

Browse files
committed
merged branch fabpot/data-collector (PR symfony#5619)
This PR was merged into the master branch. Commits ------- 2a673d8 Replaced ContainerAwareTraceableEventDispatcher with TraceableEventDispatcher Discussion ---------- Replaced ContainerAwareTraceableEventDispatcher with TraceableEventDispatcher The ContainerAwareTraceableEventDispatcher class was tied to both the Symfony container and the HttpKernel profiler. It made it non reusable in another context. The new TraceableEventDispatcher only keeps the HttpKernel profiler integration and is able to wrap any other event dispatcher. It makes it reusable in frameworks using the Symfony HttpKernel component like Silex. The only drawback is that we don't have access to the listener priorities in the collected data anymore (but the listeners are still ordered correctly). The change is still worth it I think. --------------------------------------------------------------------------- by stof at 2012-09-27T13:38:24Z You should add some tests for your new TraceableDispatcher
2 parents 93b084c + 2a673d8 commit 7a661d5

File tree

9 files changed

+437
-208
lines changed

9 files changed

+437
-208
lines changed

src/Symfony/Bundle/FrameworkBundle/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ CHANGELOG
44
2.2.0
55
-----
66

7+
* replaced Symfony\Component\HttpKernel\Debug\ContainerAwareTraceableEventDispatcher by Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher
78
* added Client::enableProfiler()
89

910
2.1.0

src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,12 @@ public function load(array $configs, ContainerBuilder $container)
4949

5050
if ($container->getParameter('kernel.debug')) {
5151
$loader->load('debug.xml');
52-
$container->setDefinition('event_dispatcher', $container->findDefinition('debug.event_dispatcher'));
53-
$container->setAlias('debug.event_dispatcher', 'event_dispatcher');
52+
53+
// only HttpKernel needs the debug event dispatcher
54+
$definition = $container->findDefinition('http_kernel');
55+
$arguments = $definition->getArguments();
56+
$arguments[0] = new Reference('debug.event_dispatcher');
57+
$definition->setArguments($arguments);
5458

5559
$container->setDefinition('controller_resolver', $container->findDefinition('debug.controller_resolver'));
5660
$container->setAlias('debug.controller_resolver', 'controller_resolver');

src/Symfony/Bundle/FrameworkBundle/Resources/config/debug.xml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
66

77
<parameters>
8-
<parameter key="debug.event_dispatcher.class">Symfony\Component\HttpKernel\Debug\ContainerAwareTraceableEventDispatcher</parameter>
8+
<parameter key="debug.event_dispatcher.class">Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher</parameter>
99
<parameter key="debug.stopwatch.class">Symfony\Component\HttpKernel\Debug\Stopwatch</parameter>
1010
<parameter key="debug.container.dump">%kernel.cache_dir%/%kernel.container_class%.xml</parameter>
1111
<parameter key="debug.controller_resolver.class">Symfony\Bundle\FrameworkBundle\Controller\TraceableControllerResolver</parameter>
@@ -16,9 +16,10 @@
1616

1717
<service id="debug.event_dispatcher" class="%debug.event_dispatcher.class%">
1818
<tag name="monolog.logger" channel="event" />
19-
<argument type="service" id="service_container" />
19+
<argument type="service" id="event_dispatcher" />
2020
<argument type="service" id="debug.stopwatch" />
2121
<argument type="service" id="logger" on-invalid="null" />
22+
<call method="setProfiler"><argument type="service" id="profiler" on-invalid="null" /></call>
2223
</service>
2324

2425
<service id="debug.controller_resolver" class="%debug.controller_resolver.class%">

src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/events.html.twig

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,11 @@
2626
<table>
2727
<tr>
2828
<th>Event name</th>
29-
<th>Priority</th>
3029
<th>Listener</th>
3130
</tr>
3231
{% for listener in collector.calledlisteners %}
3332
<tr>
3433
<td><code>{{ listener.event }}</code></td>
35-
<td><code>{{ listener.priority }}</code></td>
3634
<td><code>{{ display_listener(listener) }}</code></td>
3735
</tr>
3836
{% endfor %}
@@ -44,14 +42,12 @@
4442
<table>
4543
<tr>
4644
<th>Event name</th>
47-
<th>Priority</th>
4845
<th>Listener</th>
4946
</tr>
5047
{% set listeners = collector.notcalledlisteners %}
5148
{% for listener in listeners|keys|sort %}
5249
<tr>
5350
<td><code>{{ listeners[listener].event }}</code></td>
54-
<td><code>{{ listeners[listener].priority }}</code></td>
5551
<td><code>{{ display_listener(listeners[listener]) }}</code></td>
5652
</tr>
5753
{% endfor %}

src/Symfony/Component/EventDispatcher/Event.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,19 +74,19 @@ public function stopPropagation()
7474
/**
7575
* Stores the EventDispatcher that dispatches this Event
7676
*
77-
* @param EventDispatcher $dispatcher
77+
* @param EventDispatcherInterface $dispatcher
7878
*
7979
* @api
8080
*/
81-
public function setDispatcher(EventDispatcher $dispatcher)
81+
public function setDispatcher(EventDispatcherInterface $dispatcher)
8282
{
8383
$this->dispatcher = $dispatcher;
8484
}
8585

8686
/**
8787
* Returns the EventDispatcher that dispatches this Event
8888
*
89-
* @return EventDispatcher
89+
* @return EventDispatcherInterface
9090
*
9191
* @api
9292
*/

src/Symfony/Component/HttpKernel/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ CHANGELOG
44
2.2.0
55
-----
66

7+
* added TraceableEventDispatcher (removed ContainerAwareTraceableEventDispatcher)
78
* added support for WinCache opcode cache in ConfigDataCollector
89

910
2.1.0

0 commit comments

Comments
 (0)
0