ソースを参照

fixed WDT link to the profiler

Fabien Potencier 14 年 前
コミット
2c45611f4e

+ 1 - 2
src/Symfony/Bundle/FrameworkBundle/Resources/config/collectors.xml

@@ -5,7 +5,7 @@
     xsi:schemaLocation="http://www.symfony-project.org/schema/dic/services http://www.symfony-project.org/schema/dic/services/services-1.0.xsd">
 
     <parameters>
-        <parameter key="data_collector.config.class">Symfony\Bundle\FrameworkBundle\DataCollector\ConfigDataCollector</parameter>
+        <parameter key="data_collector.config.class">Symfony\Component\HttpKernel\DataCollector\ConfigDataCollector</parameter>
         <parameter key="data_collector.request.class">Symfony\Bundle\FrameworkBundle\DataCollector\RequestDataCollector</parameter>
         <parameter key="data_collector.exception.class">Symfony\Component\HttpKernel\DataCollector\ExceptionDataCollector</parameter>
         <parameter key="data_collector.events.class">Symfony\Component\HttpKernel\DataCollector\EventDataCollector</parameter>
@@ -18,7 +18,6 @@
         <service id="data_collector.config" class="%data_collector.config.class%" public="false">
             <tag name="data_collector" template="WebProfilerBundle:Collector:config" id="config" priority="255" />
             <argument type="service" id="kernel" />
-            <argument type="service" id="router" on-invalid="ignore" />
         </service>
 
         <service id="data_collector.request" class="%data_collector.request.class%" public="false">

+ 11 - 3
src/Symfony/Bundle/WebProfilerBundle/Controller/ProfilerController.php

@@ -149,10 +149,18 @@ class ProfilerController extends ContainerAware
             $position = false === strpos($this->container->get('request')->headers->get('user-agent'), 'Mobile') ? 'fixed' : 'absolute';
         }
 
+        $url = null;
+        try {
+            $url = $this->container->get('router')->generate('_profiler', array('token' => $token));
+        } catch (\Exception $e) {
+            // the profiler is not enabled
+        }
+
         return $this->container->get('templating')->renderResponse('WebProfilerBundle:Profiler:toolbar.html.twig', array(
-            'position'  => $position,
-            'profiler'  => $profiler,
-            'templates' => $this->getTemplates($profiler),
+            'position'     => $position,
+            'profiler'     => $profiler,
+            'templates'    => $this->getTemplates($profiler),
+            'profiler_url' => $url,
         ));
     }
 

ファイルの差分が大きいため隠しています
+ 1 - 1
src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/config.html.twig


ファイルの差分が大きいため隠しています
+ 1 - 1
src/Symfony/Bundle/WebProfilerBundle/Resources/views/Profiler/toolbar.html.twig


+ 2 - 24
src/Symfony/Bundle/FrameworkBundle/DataCollector/ConfigDataCollector.php

@@ -9,14 +9,13 @@
  * file that was distributed with this source code.
  */
 
-namespace Symfony\Bundle\FrameworkBundle\DataCollector;
+namespace Symfony\Component\HttpKernel\DataCollector;
 
 use Symfony\Component\HttpKernel\KernelInterface;
 use Symfony\Component\HttpKernel\Kernel;
 use Symfony\Component\HttpKernel\DataCollector\DataCollector;
 use Symfony\Component\HttpFoundation\Request;
 use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\Routing\RouterInterface;
 
 /**
  * ConfigDataCollector.
@@ -26,18 +25,15 @@ use Symfony\Component\Routing\RouterInterface;
 class ConfigDataCollector extends DataCollector
 {
     protected $kernel;
-    protected $router;
 
     /**
      * Constructor.
      *
      * @param KernelInterface $kernel A KernelInterface instance
-     * @param RouterInterface $router A RouterInterface instance
      */
-    public function __construct(KernelInterface $kernel, RouterInterface $router = null)
+    public function __construct(KernelInterface $kernel)
     {
         $this->kernel = $kernel;
-        $this->router = $router;
     }
 
     /**
@@ -63,24 +59,6 @@ class ConfigDataCollector extends DataCollector
         );
     }
 
-    /**
-     * Gets the URL.
-     *
-     * @return string The URL
-     */
-    public function getUrl()
-    {
-        if (null !== $this->router) {
-            try {
-                return $this->router->generate('_profiler', array('token' => $this->data['token']));
-            } catch (\Exception $e) {
-                // the route is not registered
-            }
-        }
-
-        return false;
-    }
-
     /**
      * Gets the token.
      *

+ 3 - 0
src/Symfony/Component/HttpKernel/Profiler/SqliteProfilerStorage.php

@@ -157,6 +157,9 @@ class SqliteProfilerStorage implements ProfilerStorageInterface
             }
 
             $res = $stmt->execute();
+            if (false === $res) {
+                throw new \RuntimeException(sprintf('Error executing SQLite query "%s"', $query));
+            }
             $res->finalize();
         } else {
             foreach ($args as $arg => $val) {