Ejemplo n.º 1
0
 /**
  * 加载视图
  * @param  string $viewName  加载的视图名称
  * @param  string $className 加载的视图所在类
  * @return none 
  */
 public function loadView($viewName, $className = '')
 {
     $viewPath = APP_UI_PATH;
     if (empty($className)) {
         $backtrace = debug_backtrace();
         $className = get_class($backtrace[0]['object']);
         $classPath = str_replace("Controller.temp", "/", $className . '.temp');
         file_exists($viewPath . $classPath . $viewName) ? include $viewPath . $classPath . $viewName : Printemps_Error(500, "加载的视图 " . $viewPath . $classPath . $viewName . " 不存在哦 : )!", __FILE__, __LINE__);
     } else {
         $classPath = $className . '/';
         file_exists($viewPath . $classPath . $viewName) ? include $viewPath . $classPath . $viewName : Printemps_Error(500, "加载的视图 " . $viewPath . $classPath . $viewName . " 不存在哦 : )!", __FILE__, __LINE__);
     }
 }
Ejemplo n.º 2
0
 /**
  * 加载控制器:class格式为控制器名+Controller,如indexController
  * Controller 最好继承 Printemps,已获得最佳性能
  * @type static
  * @param  string $className  要加载的控制器名,默认加载index
  * @param  string $methodName 要加载的方法名,默认加载run
  * @param  array or null $param      通过URL路由传入的参数
  * @return none             
  */
 static function loadController($className, $methodName)
 {
     global $param;
     empty($className) ? $controllerName = 'index' : ($controllerName = $className);
     if (!class_exists($controllerName . 'Controller')) {
         if (file_exists(APP_CORE_PATH . 'Controller/' . $controllerName . '.class.php')) {
             require APP_CORE_PATH . 'Controller/' . $controllerName . '.class.php';
             if (!class_exists($controllerName . 'Controller')) {
                 Printemps_Error(500, "啊嘞,通过路由地址请求的控制器 {$controllerName} 不存在哦 :)");
             }
         } else {
             Printemps_Error(500, "啊嘞,通过路由地址请求的控制器 {$controllerName} 不存在哦 :)");
         }
     }
     $Controller = $controllerName . 'Controller';
     $cl = new $Controller();
     $functionName = $methodName;
     if (method_exists($cl, $functionName)) {
         $cl->{$functionName}();
     } else {
         Printemps_Error(500, '啊嘞,通过路由地址请求的方法 {$functionName} 不存在哦 :)');
     }
 }