コード例 #1
0
 /**
  * @return ControllerHandler
  */
 public static function instance()
 {
     if (ControllerHandler::$instance == null) {
         ControllerHandler::$instance = new ControllerHandler();
     }
     return ControllerHandler::$instance;
 }
コード例 #2
0
 public function executeAction()
 {
     if ($this->route->isAuthRequired() && !Authentication::isAuthenticated()) {
         $loginRoute = Route::findRoute(\Config\App\LOGIN_PAGE_ROUTE, Route::METHOD_GET);
         $obj = ControllerHandler::instance()->redirectToRoute($loginRoute, $this->request);
         $action = $loginRoute->getAction();
         $parameters = Route::getRouteParameters($this->route, $this->request);
         return call_user_method_array($action, $obj, $parameters);
     }
     $action = $this->route->getAction();
     $parameters = Route::getRouteParameters($this->route, $this->request);
     return call_user_method_array($action, $this, $parameters);
 }
コード例 #3
0
ファイル: Kernel.php プロジェクト: PatrickFarnkopf/survey
 private function draw(Request $request)
 {
     $controller = ControllerHandler::instance()->create($request);
     $result = $controller->executeAction();
     switch (gettype($result)) {
         case "string":
         case "integer":
         case "boolean":
         case "double":
             return $result;
         case "object":
             switch (get_class($result)) {
                 case "Framework\\Application\\ActionResult":
                     $viewData = $controller->viewData;
                     eval("?>" . $result->view());
                     return "";
             }
         default:
             throw new Exception("not supported");
     }
 }