Skip to content

Commit aab1c2f

Browse files
committed
make the stopwatch service always available
Previously, one had to be careful to check if the debug.stopwatch service was available before using it. Otherwise, the application would break in the prod environment.
1 parent fc06123 commit aab1c2f

File tree

6 files changed

+35
-3
lines changed

6 files changed

+35
-3
lines changed

Resources/config/debug.xml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,11 @@
66

77
<parameters>
88
<parameter key="debug.event_dispatcher.class">Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher</parameter>
9-
<parameter key="debug.stopwatch.class">Symfony\Component\Stopwatch\Stopwatch</parameter>
109
<parameter key="debug.container.dump">%kernel.cache_dir%/%kernel.container_class%.xml</parameter>
1110
<parameter key="debug.controller_resolver.class">Symfony\Component\HttpKernel\Controller\TraceableControllerResolver</parameter>
1211
</parameters>
1312

1413
<services>
15-
<service id="debug.stopwatch" class="%debug.stopwatch.class%" />
16-
1714
<service id="debug.event_dispatcher" class="%debug.event_dispatcher.class%">
1815
<tag name="monolog.logger" channel="event" />
1916
<argument type="service" id="debug.event_dispatcher.parent" />

Resources/config/debug_prod.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
<parameters>
88
<parameter key="debug.debug_handlers_listener.class">Symfony\Component\HttpKernel\EventListener\DebugHandlersListener</parameter>
9+
<parameter key="debug.stopwatch.class">Symfony\Component\Stopwatch\Stopwatch</parameter>
910
</parameters>
1011

1112
<services>
@@ -17,5 +18,7 @@
1718
<argument /><!-- Log levels map for enabled error levels -->
1819
<argument>%kernel.debug%</argument>
1920
</service>
21+
22+
<service id="debug.stopwatch" class="%debug.stopwatch.class%" />
2023
</services>
2124
</container>
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
<?php
2+
3+
$container->loadFromExtension('framework', array());
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<?xml version="1.0" encoding="UTF-8" ?>
2+
<container xmlns="http://symfony.com/schema/dic/services"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xmlns:framework="http://symfony.com/schema/dic/symfony"
5+
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
6+
http://symfony.com/schema/dic/symfony http://symfony.com/schema/dic/symfony/symfony-1.0.xsd">
7+
8+
<framework:config />
9+
</container>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
framework: ~

Tests/DependencyInjection/FrameworkExtensionTest.php

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -402,6 +402,25 @@ public function testFormCsrfFieldNameUnderFormSettingsTakesPrecedence()
402402
$this->assertEquals('_custom_form', $container->getParameter('form.type_extension.csrf.field_name'));
403403
}
404404

405+
public function testStopwatchEnabledWithDebugModeEnabled()
406+
{
407+
$container = $this->createContainerFromFile('default_config', array(
408+
'kernel.container_class' => 'foo',
409+
'kernel.debug' => true,
410+
));
411+
412+
$this->assertTrue($container->has('debug.stopwatch'));
413+
}
414+
415+
public function testStopwatchEnabledWithDebugModeDisabled()
416+
{
417+
$container = $this->createContainerFromFile('default_config', array(
418+
'kernel.container_class' => 'foo',
419+
));
420+
421+
$this->assertTrue($container->has('debug.stopwatch'));
422+
}
423+
405424
protected function createContainer(array $data = array())
406425
{
407426
return new ContainerBuilder(new ParameterBag(array_merge(array(

0 commit comments

Comments
 (0)