// +----------------------------------------------------------------------
// | 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);
// 记录内存初始使用
/*
使用function_exists()判断当前运行环境下memory_get_usage函数是否可用
当memory_get_usage函数可执行是.
将menory_get_usage函数返回的当前分配给你的php脚本的内存量(单位字节)赋值给_startUserMems
*/
define('MEMORY_LIMIT_ON',function_exists('memory_get_usage'));
if(MEMORY_LIMIT_ON) $GLOBALS['_startUseMems'] = memory_get_usage();
/*
获取项目路径 其中调用php函数:
dirname() 返回当前路径中的目录部分
$_SERVER['SCRIPT_FILENAME'] 获取当前运行脚步的绝对路径
*/
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); // 是否调试模式
/*
MODE_NAME作用是为生成的缓存文件增加自定义表示,例如:
在未定义MODE_NAME是
生成的编译缓存名称为~runtime.php
当项目中定义MODE_NAME的内容为aaa时
生成的编译缓存名称为~aaa_runtime.php
*/
$runtime = defined('MODE_NAME')?'~'.strtolower(MODE_NAME).'_runtime.php':'~runtime.php';
/*
定义自定义缓存文件名
*/
defined('RUNTIME_FILE') or define('RUNTIME_FILE',RUNTIME_PATH.$runtime);
if(!APP_DEBUG && is_file(RUNTIME_FILE)) {
// 部署模式直接载入运行缓存
require RUNTIME_FILE;
}else{
// 系统目录定义
/*
__FILE__ :文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。自 PHP 4.0.2 起,__FILE__ 总是包含一个绝对路径(如果是符号连接,则是解析后的绝对路径),而在此之前的版本有时会包含一个相对路径。
*/
defined('THINK_PATH') or define('THINK_PATH', dirname(__FILE__).'/');
// 加载运行时文件
require THINK_PATH.'Common/runtime.php';
}