Example #1
0
 /** Sorts current routes according to path and parameters */
 protected function sortRoutesByComplexity()
 {
     usort($this->routes, function ($a, $b) {
         $a = $a->pattern;
         $b = $b->pattern;
         $pi = AbstractRoute::PARAM_IDENTIFIER;
         //Compare similarity and ocurrences of "/"
         if (Router::compareRoutePatterns($a, $b, '/')) {
             return 1;
             //Compare similarity and ocurrences of /*
         } elseif (Router::compareRoutePatterns($a, $b, $pi)) {
             return -1;
             //Hard fallback for consistency
         } else {
             return 1;
         }
     });
 }