Browse Source

changed priority meaning to be more intuitive

Fabien Potencier 14 years ago
parent
commit
b47cf7984b

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

@@ -154,7 +154,7 @@
         </service>
 
         <service id="security.firewall" class="%security.firewall.class%" public="false">
-            <tag name="kernel.listener" priority="128" />
+            <tag name="kernel.listener" priority="-128" />
             <argument type="service" id="security.firewall.map" />
         </service>
         <service id="security.firewall.map" class="%security.firewall.map.class%" public="false" />

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

@@ -46,7 +46,7 @@
         </service>
 
         <service id="exception_listener" class="%exception_listener.class%" public="false">
-            <tag name="kernel.listener" priority="128" />
+            <tag name="kernel.listener" priority="-128" />
             <argument>%exception_listener.controller%</argument>
             <argument type="service" id="logger" on-invalid="null" />
         </service>

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

@@ -11,7 +11,7 @@
 
     <services>
         <service id="debug.toolbar" class="%debug.toolbar.class%" public="false">
-            <tag name="kernel.listener" priority="128" />
+            <tag name="kernel.listener" priority="-128" />
             <argument type="service" id="controller_resolver" />
             <argument>%debug.toolbar.intercept_redirects%</argument>
         </service>

+ 3 - 1
src/Symfony/Component/EventDispatcher/EventDispatcher.php

@@ -24,6 +24,8 @@ class EventDispatcher
     /**
      * Connects a listener to a given event name.
      *
+     * Listeners with a higher priority are executed first.
+     *
      * @param string  $name      An event name
      * @param mixed   $listener  A PHP callable
      * @param integer $priority  The priority (between -10 and 10 -- defaults to 0)
@@ -148,7 +150,7 @@ class EventDispatcher
 
         $listeners = array();
         $all = $this->listeners[$name];
-        ksort($all);
+        krsort($all);
         foreach ($all as $l) {
             $listeners = array_merge($listeners, $l);
         }