thinkphp源码解析 (Version 3.1) -3 /Lib/Core/App.class

来源:互联网 发布:淘宝店铺全屏海报 编辑:程序博客网 时间:2024/06/05 15:11

thinkphp源码解析 (Version 3.1) -3 /Lib/Core/App.class


init()

static public function init() {   // 设置系统时区   date_default_timezone_set(C('DEFAULT_TIMEZONE'));   // 加载动态项目公共文件和配置   load_ext_file();   // URL调度   Dispatcher::dispatch();   // 定义当前请求的系统常量   define('NOW_TIME',      $_SERVER['REQUEST_TIME']);   define('REQUEST_METHOD',$_SERVER['REQUEST_METHOD']);   define('IS_GET',        REQUEST_METHOD =='GET' ? true : false);   define('IS_POST',       REQUEST_METHOD =='POST' ? true : false);   define('IS_PUT',        REQUEST_METHOD =='PUT' ? true : false);   define('IS_DELETE',     REQUEST_METHOD =='DELETE' ? true : false);   define('IS_AJAX',       ((isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') || !empty($_POST[C('VAR_AJAX_SUBMIT')]) || !empty($_GET[C('VAR_AJAX_SUBMIT')])) ? true : false);   if(defined('GROUP_NAME')) {       // 加载分组配置文件       if(is_file(CONF_PATH.GROUP_NAME.'/config.php'))           C(include CONF_PATH.GROUP_NAME.'/config.php');       // 加载分组函数文件       if(is_file(COMMON_PATH.GROUP_NAME.'/function.php'))           include COMMON_PATH.GROUP_NAME.'/function.php';   }   // 页面压缩输出支持   if(C('OUTPUT_ENCODE')){       $zlib = ini_get('zlib.output_compression');       if(empty($zlib)) ob_start('ob_gzhandler');   }   // 系统变量安全过滤   if(C('VAR_FILTERS')) {       $filters    =   explode(',',C('VAR_FILTERS'));       foreach($filters as $filter){           // 全局参数过滤           $_POST  =   array_map($filter,$_POST);           $_GET   =   array_map($filter,$_GET);       }   }   /* 获取模板主题名称 */   $templateSet =  C('DEFAULT_THEME');   if(C('TMPL_DETECT_THEME')) {// 自动侦测模板主题       $t = C('VAR_TEMPLATE');       if (isset($_GET[$t])){           $templateSet = $_GET[$t];       }elseif(cookie('think_template')){           $templateSet = cookie('think_template');       }       // 主题不存在时仍改回使用默认主题       if(!is_dir(TMPL_PATH.$templateSet))           $templateSet = C('DEFAULT_THEME');       cookie('think_template',$templateSet);   }   /* 模板相关目录常量 */   define('THEME_NAME',   $templateSet);                  // 当前模板主题名称   $group   =  defined('GROUP_NAME')?GROUP_NAME.'/':'';   define('THEME_PATH',   TMPL_PATH.$group.(THEME_NAME?THEME_NAME.'/':''));   define('APP_TMPL_PATH',__ROOT__.'/'.APP_NAME.(APP_NAME?'/':'').basename(TMPL_PATH).'/'.$group.(THEME_NAME?THEME_NAME.'/':''));   C('TEMPLATE_NAME',THEME_PATH.MODULE_NAME.(defined('GROUP_NAME')?C('TMPL_FILE_DEPR'):'/').ACTION_NAME.C('TMPL_TEMPLATE_SUFFIX'));   C('CACHE_PATH',CACHE_PATH.$group);   //动态配置 TMPL_EXCEPTION_FILE,改为绝对地址   C('TMPL_EXCEPTION_FILE',realpath(C('TMPL_EXCEPTION_FILE')));   return ;}

run()

0 0
原创粉丝点击