Esempio n. 1
0
 /**
  * This method forward to the action.
  *
  * @param object $Router the instance of the Router class.
  */
 public static function run($request, $subMvc)
 {
     TemplateMapper::templates();
     $tpl = TemplateMapper::getTemplate($subMvc->moduleName(), $subMvc->controllerName(), $subMvc->actionName());
     require_once Mvc::$currentApp->documentRoot() . "/" . $subMvc->controllerFile();
     $controller = $subMvc->controllerClassName();
     $action = $subMvc->actionFunctionName();
     $subController = new $controller();
     $subController->setParams($request->params());
     $subController->setRequest($request);
     $subController->setDefaultModel();
     $subController->setSubMvc($subMvc);
     $subController->setDefaultView($tpl, true);
     //init method acts as a constructor after all the variables being set
     $subController->init();
     if (method_exists($subController, $action)) {
         ob_start();
         $subController->{$action}();
         $viewContent = ob_get_clean();
         return $viewContent;
     } else {
         throw AiryException("AiryMVC: Missing Action Function.");
     }
     return NULL;
 }
Esempio n. 2
0
 /**
  * This method forward to the action.
  *
  * @param object $Router the instance of the Router class.
  */
 public static function run()
 {
     $request = new Request();
     $request->set();
     $results = Route::resolveRoute($request);
     if (!is_null($results)) {
         Mvc::setCurrentMvc($results['mvc']);
         Mvc::setCurrentApp(Framework::app($results['mvc']->appName()));
         $request = $results['request'];
         TemplateMapper::templates();
         $tpl = TemplateMapper::getTemplate(Mvc::moduleName(), Mvc::controllerName(), Mvc::actionName());
         session_start();
         //Take out global, not use
         require_once Mvc::controllerFile();
         $controller = Mvc::controllerClassName();
         $action = Mvc::actionFunctionName();
         self::$runController = new $controller();
         self::$runController->setParams($request->params());
         self::$runController->setRequest($request);
         self::$runController->setDefaultModel();
         self::$runController->setDefaultView($tpl);
         //init method acts as a constructor after all the variables being set
         self::$runController->init();
         if (method_exists(self::$runController, $action)) {
             self::$runController->{$action}();
         } else {
             throw AiryException("AiryMVC: Missing Action Function.");
         }
         return self::$runController;
         session_write_close();
     }
 }