// +----------------------------------------------------------------------
// | 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
// +----------------------------------------------------------------------
// ThinkPHP 入口文件
//记录开始运行时间
$GLOBALS['_beginTime'] = microtime(TRUE);
// 记录内存初始使用
define('MEMORY_LIMIT_ON',function_exists('memory_get_usage'));//返回分配给php的内存,返回的结果为内存占用的字节数
if(MEMORY_LIMIT_ON) $GLOBALS['_startUseMems'] = memory_get_usage();
//项目的默认路径,一般情况下在单一入口文件中定义,如果在单一入口文件中没有定义项目路径,则会将其作为默认的项目路径
defined('APP_PATH') or define('APP_PATH', dirname($_SERVER['SCRIPT_FILENAME']).'/');
//运行时路径,即:项目路径下的Runtime目录
defined('RUNTIME_PATH') or define('RUNTIME_PATH',APP_PATH.'Runtime/');
//调试模式
//defined('APP_DEBUG') or define('APP_DEBUG',false); // 默认为false
defined('APP_DEBUG') or define('APP_DEBUG',true); // 是否调试模式
//运行时缓存文件的名称,只是文件名称
$runtime = defined('MODE_NAME')?'~'.strtolower(MODE_NAME).'_runtime.php':'~runtime.php';
//运行时缓存文件的路径,这个跟上面不同,这个是运行时缓存文件的路径
defined('RUNTIME_FILE') or define('RUNTIME_FILE',RUNTIME_PATH.$runtime);
//在调试模式未开启时,第一次运行时,RUNTIME_FILE还没有被生成,是不存在的,所以会执行else里面的程序,创建系统目录;等下次再运行的时候,直接加载RUNTIME_FILE即可
if(!APP_DEBUG && is_file(RUNTIME_FILE)) {
// 部署模式直接载入运行缓存
require RUNTIME_FILE;//在调试模式开启的情况下,此文件会被自动删除
}else{//在调试模式开启的情况下,执行else代码段
// 系统或框架路径的定义
defined('THINK_PATH') or define('THINK_PATH', dirname(__FILE__).'/');//d:/mall/tp/ThinkPHP/
// 加载运行时文件
require THINK_PATH.'Common/runtime.php';
}