routes = array(); } /** * Append a new Route instance to the Router's route table. * @param $route */ public function addRoute(Route $route) { $this->routes[] = $route; } // addRoute() /** * @param string $requestPath * @return Handler */ public function getRequestHandler($requestPath=null) { if (is_null($requestPath)) { $request = Request::getRequest(); $path = $request->path; } else { $path = $requestPath; } foreach ($this->routes as $route) { if (preg_match($route->pattern, $path, $matches)) { $klass = $route->handler; if (!class_exists($klass)) { require_once($route->handlerPath); } return $handler = new $klass($request, $matches); } } return false; } // getRequestHandler() } // Router ?>