Exemple #1
0
 /**
  * Starts routing
  *
  * @return void
  */
 public static function run()
 {
     self::$running = TRUE;
     if (!empty($_SERVER['PATH_INFO'])) {
         self::$active_proxy_uri = str_replace($_SERVER['PATH_INFO'], '', $_SERVER['REQUEST_URI']);
         self::$request_path = urldecode(preg_replace('#\\?.*$#', '', $_SERVER['PATH_INFO']));
     } else {
         self::$request_path = urldecode(preg_replace('#\\?.*$#', '', $_SERVER['REQUEST_URI']));
     }
     $old_GET = $_GET;
     $_GET = array();
     foreach (self::$routes as $route) {
         self::$active_callback = NULL;
         self::$active_namespace = NULL;
         self::$active_class = NULL;
         self::$active_short_class = NULL;
         self::$active_method = NULL;
         self::$active_short_method = NULL;
         self::$active_function = NULL;
         $_GET = $old_GET;
         try {
             self::dispatchRoute($route);
         } catch (MoorContinueException $e) {
             continue;
         } catch (MoorNotFoundException $e) {
             break;
         }
     }
     self::$messages[] = 'No Valid Matches Found. Running Not Found callback: ' . self::$not_found_callback;
     $route = (object) 'route';
     $route->url = self::parseUrl('*');
     $route->callback = self::parseCallback(self::$not_found_callback);
     $route->function = NULL;
     self::dispatchRoute($route);
 }