@qingjieshouliang
Current Path : /www/wwwroot/eblliwsm.com/c7bd1a80/Extend/Mode/Lite/ |
Current File : /www/wwwroot/eblliwsm.com/c7bd1a80/Extend/Mode/Lite/App.class.php |
<?php // +---------------------------------------------------------------------- // | ThinkPHP [ WE CAN DO IT JUST THINK IT ] // +---------------------------------------------------------------------- // | Copyright (c) 2006-2012 http://thinkphp.cn All rights reserved. // +---------------------------------------------------------------------- // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) // +---------------------------------------------------------------------- // | Author: liu21st <liu21st@gmail.com> // +---------------------------------------------------------------------- /** * ThinkPHP 应用程序类 精简模式 * @category Think * @package Think * @subpackage Core * @author liu21st <liu21st@gmail.com> */ class App { /** * 运行应用实例 入口文件使用的快捷方法 * @access public * @return void */ static public function run() { // 设置系统时区 date_default_timezone_set(C('DEFAULT_TIMEZONE')); // 加载动态项目公共文件和配置 load_ext_file(); // 项目初始化标签 tag('app_init'); // URL调度 Dispatcher::dispatch(); // 项目开始标签 tag('app_begin'); // Session初始化 支持其他客户端 if(isset($_REQUEST[C("VAR_SESSION_ID")])) session_id($_REQUEST[C("VAR_SESSION_ID")]); if(C('SESSION_AUTO_START')) session_start(); // 记录应用初始化时间 if(C('SHOW_RUN_TIME')) G('initTime'); App::exec(); // 项目结束标签 tag('app_end'); // 保存日志记录 if(C('LOG_RECORD')) Log::save(); return ; } /** * 执行应用程序 * @access public * @return void * @throws ThinkExecption */ static public function exec() { // 安全检测 if(!preg_match('/^[A-Za-z_0-9]+$/',MODULE_NAME)){ throw_exception(L('_MODULE_NOT_EXIST_')); } //创建Action控制器实例 $group = defined('GROUP_NAME') ? GROUP_NAME.'/' : ''; $module = A($group.MODULE_NAME); if(!$module) { // 是否定义Empty模块 $module = A("Empty"); if(!$module) // 模块不存在 抛出异常 throw_exception(L('_MODULE_NOT_EXIST_').MODULE_NAME); } //执行当前操作 call_user_func(array(&$module,ACTION_NAME)); return ; } }