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
- thinkphp源码解析 (Version 3.1) -3 /Lib/Core/App.class
- thinkphp源码解析 (Version 3.1) -2 /Lib/Core/Think.class
- thinkphp源码解析 (Version 3.1) -4 /Lib/Core/Dispatcher.class
- 【thinkphp3.x】ThinkPHP/Lib/Core/App.class.php文件分析
- thinkphp源码解析 (Version 3.1) -1
- 【thinkphp3.x】ThinkPHP/Lib/Core/Think.class.php文件分析
- 【thinkphp3.x】ThinkPHP/Lib/Core/Dispatcher.class.php文件分析
- 【thinkphp3.x】ThinkPHP/Lib/Core/View.class.php文件分析
- 【thinkphp3.x】ThinkPHP/Lib/Core/Model.class.php文件分析
- thinkphp核心源码注释|App.class.php
- 几种常见的正则表达式验证(From ThinkPHP/Lib/Think/Core/Model.class.php)
- [李景山php]thinkphp核心源码注释|App.class.php
- Version-levelDB源码解析
- 【thinkphp3.x】ThinkPHP/Lib/Behavior/ParseTemplateBehavior.class.php文件分析
- 【thinkphp3.x】ThinkPHP/Lib/Behavior/ContentReplaceBehavior.class.php文件分析
- thinkphp核心源码注释|Think.class.php
- thinkphp核心源码注释|Storage.class.php
- thinkphp核心源码注释|Route.class.php
- sublime text3 安装less2css
- JAVA并发编程——守护线程(Daemon Thread)
- Go语言例子_map字符串数组
- CocoaPods制作
- Apache配置正向代理与反向代理
- thinkphp源码解析 (Version 3.1) -3 /Lib/Core/App.class
- PHP大批量插入数据库的3种方法和速度对比
- Windows上安装MySQL
- Android AIDL整理
- jqueryZtree
- Java 发送邮件
- 原型模式——使程序运行更高效
- Mac系统中进入隐藏文件夹
- 版本管理之SVN