Exemplo n.º 1
0
 public static function register($routes)
 {
     self::$routes = array_merge((array) $routes, self::$routes);
 }
Exemplo n.º 2
0
 /**
  * Find the route that matches the closest.
  */
 private function findClosestRoute($request_uri)
 {
     $Routes = Routes::routes();
     $closeness = 0;
     $ret = new stdClass();
     $controller_action = null;
     foreach ($Routes->export() as $key => $value) {
         //var_dump($Routes->export());
         $value = (object) $value;
         if ($request_uri == $value->path) {
             $ret = $value;
             break;
         }
         $current = similar_text($request_uri, $value->path);
         if ($current > $closeness) {
             $closeness = $current;
             $ret = $value;
         }
         $controller = preg_replace('/([^\\s])([A-Z])/', '\\1-\\2', $value->controller);
         $first = $second = '/' . strtolower($controller) . '/' . $value->action;
         $second = $second . '/';
         if ($first == $request_uri || $second == $request_uri) {
             $controller_action = $value;
         }
     }
     return array('ret' => $ret, 'controller-action' => $controller_action);
 }