コード例 #1
0
ファイル: application.php プロジェクト: dalinhuang/zotop
 /**
  * 应用程序执行
  *
  *
  * @return null
  */
 public static function execute()
 {
     if (zotop::modules(ZOTOP_MODULE) === null || (int) zotop::modules(ZOTOP_MODULE, 'status') < 0) {
         msg::error(array('title' => '404 error', 'content' => zotop::t('<h2>未能找到模块,模块可能尚未安装或者已经被禁用?</h2>'), 'detail' => zotop::t('模块名称:{$module}', array('module' => ZOTOP_MODULE))));
     }
     //controller classname
     $controllerName = ZOTOP_MODULE . '_controller_' . ZOTOP_CONTROLLER;
     $controllerPath = ZOTOP_MODULE_PATH . DS . ZOTOP_GROUP . DS . ZOTOP_CONTROLLER . '.php';
     if (!class_exists($controllerName, false)) {
         if (!zotop::load($controllerPath)) {
             msg::error(array('title' => '404 error', 'content' => zotop::t('<h2>未能找到控制器,请检查控制器文件是否存在?</h2>'), 'detail' => zotop::t('文件名称:{$file}', array('file' => $controllerPath))));
         }
     }
     if (class_exists($controllerName, false)) {
         //实例化控制器
         $controller = new $controllerName();
         //调用__execute方法
         $controller->execute(ZOTOP_ACTION, application::arguments());
     } else {
         msg::error(array('title' => '404 error', 'content' => zotop::t('<h2>未能找到控制器类,请检查控制器文件中是否存在控制器类?</h2>'), 'detail' => zotop::t('类名称:{$className}', array('className' => $controllerName))));
     }
 }
コード例 #2
0
ファイル: admin.core.php プロジェクト: dalinhuang/zotop
 /**
  * 应用程序执行
  *
  *
  * @return null
  */
 public static function execute()
 {
     if (zotop::module(application::module()) === null || (int) zotop::module(application::module(), 'status') < 0) {
         msg::error(array('title' => '404 error', 'content' => zotop::t('<h2>未能找到模块,模块可能尚未安装或者已经被禁用?</h2>'), 'detail' => zotop::t('模块名称:{$module}', array('module' => application::$module))));
     }
     define('ZOTOP_MODULE', application::module());
     define('ZOTOP_MODULE_PATH', zotop::module(application::module(), 'path'));
     define('ZOTOP_MODULE_URL', zotop::module(application::module(), 'url'));
     $controllerPath = ZOTOP_MODULE_PATH . DS . ZOTOP_APPLICATION . DS . application::controller() . '.php';
     if (zotop::load($controllerPath)) {
     } elseif (zotop::load(ZOTOP_MODULE_PATH . DS . ZOTOP_GROUP . DS . 'default.php')) {
         $controllerPath = ZOTOP_MODULE_PATH . DS . ZOTOP_GROUP . DS . 'default.php';
         application::$arguments = array_merge(array(application::$controller), array(application::$action), application::$arguments);
         application::$controller = 'default';
         application::$action = '';
     } else {
         zotop::error(array('title' => '404 error', 'content' => zotop::t('<h2>未能找到控制器,请检查控制器文件是否存在?</h2>'), 'detail' => zotop::t('文件名称:{$file}', array('file' => $controllerPath))));
     }
     define('ZOTOP_CONTROLLER', application::controller());
     $class = application::module() . '_controller_' . application::controller();
     if (class_exists($class, false)) {
         //实例化控制器
         $controller = new $class();
         if (!method_exists($controller, 'action' . ucfirst(application::action()))) {
             if (strlen(application::action()) > 0) {
                 application::$arguments = array_merge(array(application::$action), application::$arguments);
             }
             application::$action = $controller->action;
         }
         define('ZOTOP_ACTION', application::action());
         if (method_exists($controller, 'action' . ucfirst(application::action()))) {
             zotop::run("system.execute.before");
             call_user_func_array(array($controller, 'action' . ucfirst(application::action())), application::arguments());
             zotop::run("system.execute.after");
         } else {
             call_user_func_array(array($controller, '__empty'), array(application::action(), application::arguments()));
         }
     } else {
         zotop::error(array('title' => '404 error', 'content' => zotop::t('<h2>未能找到控制器类,请检查控制器文件中是否存在控制器类?</h2>'), 'detail' => zotop::t('类名称:{$className}', array('className' => $class))));
     }
 }