コード例 #1
0
 public static function route(\Request $request)
 {
     $method = $request->getRequestMethod();
     $req = $request->getRequestedUri();
     $routes = new \Config("routes");
     $routes = $routes->{$method};
     foreach ($routes as $url => $handler) {
         $url = preg_replace("|\\:([a-z0-9\\_\\-]+)|iu", "(?P<\$1>.*)", $url);
         if (preg_match("|{$url}|iu", $request->getRequestedUri(), $params)) {
             list($controller, $method) = explode("::", $handler);
             $request->setParams($params);
             break;
         }
     }
     if (!isset($controller)) {
         $controller = "Controller\\BadRequest";
         $method = "output404";
     }
     $controller = new $controller();
     $auth = new Authentication\Auth();
     if ($controller instanceof Controller\AbAuthController && !$auth->isLoggedIn()) {
         return array($controller, "checkLogin");
     }
     return array($controller, $method);
 }
コード例 #2
0
 public function output404(\Request $req, \Response $res)
 {
     $view = new \Output\View("404");
     $view->request = $req->getRequestedUri();
     $view->method = $req->getRequestMethod();
     $res->addView("content", $view);
 }