예제 #1
0
 /**
  * match the requested route with one of the routes added to the routes array on the main maverick class
  * @param string $protocol the protocol specified in the routes, either post, get, or any
  * @param string $route the route string
  * @param string $action the action to take, usually in the form of controller->method
  * @param array $args an array of matched parameters to pass to the routing controller class
  * @return boolean
  */
 private static function match_route($protocol, $route, $action, $args)
 {
     $maverick = \maverick\maverick::getInstance();
     // return if a route has already been matched
     if (isset($maverick->route)) {
         return false;
     }
     // return if the protocols don't match
     if (strtolower($_SERVER['REQUEST_METHOD']) == $protocol || $protocol == 'any') {
         preg_match("~^{$route}\$~", $maverick->requested_route_string, $matches);
         // route match - assign the information back to the main maverick object
         if (!empty($matches)) {
             $maverick->controller = route::get_full_action($action, $args, $matches);
         }
     } else {
         return false;
     }
 }