浏览代码

[WebProfilerBundle] re-introduced parameters in the DIC for better overridability

Fabien Potencier 14 年之前
父节点
当前提交
8dbccc7a8b

+ 1 - 1
src/Symfony/Bundle/WebProfilerBundle/Controller/ProfilerController.php

@@ -163,7 +163,7 @@ class ProfilerController extends ContainerAware
             'profiler'     => $profiler,
             'templates'    => $this->getTemplates($profiler),
             'profiler_url' => $url,
-            'verbose'      => $this->container->get('web_profiler.debug.toolbar')->getVerbose()
+            'verbose'      => $this->container->get('web_profiler.debug_toolbar')->getVerbose()
         ));
     }
 

+ 2 - 4
src/Symfony/Bundle/WebProfilerBundle/DependencyInjection/WebProfilerExtension.php

@@ -47,10 +47,8 @@ class WebProfilerExtension extends Extension
             $loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
             $loader->load('toolbar.xml');
 
-            $container->getDefinition('web_profiler.debug.toolbar')
-                ->replaceArgument(1, $config['intercept_redirects'])
-                ->replaceArgument(2, $config['verbose'])
-            ;
+            $container->setParameter('web_profiler.debug_toolbar.intercept_redirects', $config['intercept_redirects']);
+            $container->setParameter('web_profiler.debug_toolbar.verbose', $config['verbose']);
         }
     }
 

+ 4 - 4
src/Symfony/Bundle/WebProfilerBundle/Resources/config/toolbar.xml

@@ -5,15 +5,15 @@
     xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
 
     <parameters>
-        <parameter key="web_profiler.debug.toolbar.class">Symfony\Bundle\WebProfilerBundle\WebDebugToolbarListener</parameter>
+        <parameter key="web_profiler.debug_toolbar.class">Symfony\Bundle\WebProfilerBundle\WebDebugToolbarListener</parameter>
     </parameters>
 
     <services>
-        <service id="web_profiler.debug.toolbar" class="%web_profiler.debug.toolbar.class%">
+        <service id="web_profiler.debug_toolbar" class="%web_profiler.debug_toolbar.class%">
             <tag name="kernel.listener" event="onCoreResponse" priority="-128" />
             <argument type="service" id="templating.engine.twig" />
-            <argument /> <!-- intercept_redirects -->
-            <argument /> <!-- verbose -->
+            <argument>%web_profiler.debug_toolbar.intercept_redirects%</argument>
+            <argument>%web_profiler.debug_toolbar.verbose%</argument>
         </service>
     </services>
 </container>

+ 2 - 2
src/Symfony/Bundle/WebProfilerBundle/Tests/DependencyInjection/WebProfilerExtensionTest.php

@@ -80,7 +80,7 @@ class WebProfilerExtensionTest extends \PHPUnit_Framework_TestCase
         $extension = new WebProfilerExtension();
         $extension->load(array(array()), $this->container);
 
-        $this->assertFalse($this->container->has('web_profiler.debug.toolbar'));
+        $this->assertFalse($this->container->has('web_profiler.debug_toolbar'));
 
         $this->assertSaneContainer($this->getDumpedContainer());
     }
@@ -95,7 +95,7 @@ class WebProfilerExtensionTest extends \PHPUnit_Framework_TestCase
         $extension = new WebProfilerExtension();
         $extension->load(array(array('toolbar' => $debug)), $this->container);
 
-        $this->assertTrue($debug === $this->container->has('web_profiler.debug.toolbar'), '->load() registers web_profiler.debug.toolbar only when toolbar is true');
+        $this->assertTrue($debug === $this->container->has('web_profiler.debug_toolbar'), '->load() registers web_profiler.debug_toolbar only when toolbar is true');
 
         $this->assertSaneContainer($this->getDumpedContainer());
     }