PHP网站实例分析
}
//记录开始运行时间 bkJia注释
$GLOBALS[_beginTime] = microtime(TRUE);
//全局变量 TRUE表示秒与微秒相加
// ThinkPHP系统目录定义
if(!defined(THINK_PATH)) define(THINK_PATH, dirname(__FILE__));
//THINK_PATH的值是:d:www_4000Think_path
//dirname(dirname(__FILE__));得到的是文件上一层目录名
//dirname(__FILE__);得到的是文件所在层目录名
if(!defined(APP_NAME)) define(APP_NAME, md5(THINK_PATH));
//如果没有常量APP_NAME 将应用程序名加密 (bkJia中文网)
if(!defined(APP_PATH)) define(APP_PATH, dirname(THINK_PATH)./.APP_NAME);
if(!defined(RUNTIME_PATH)) define(RUNTIME_PATH,APP_PATH./Temp/);
//运行时路经
if(file_exists(RUNTIME_PATH.~runtime.php)) {
// 运行时路径中有此文件,加载框架核心缓存文件
// 如果有修改核心文件请删除该缓存(bkJia.com)
require_once RUNTIME_PATH.~runtime.php;
}else{
// 加载系统定义文件
require_once THINK_PATH."/Common/defines.php";
// 系统函数库
require_once THINK_PATH."/Common/functions.php";
// 加载编译需要的函数文件
require_once THINK_PATH."/Common/runtime.php";
// 第一次运行检查项目目录结构 如果不存在则自动创建
if(!file_exists(RUNTIME_PATH)) {
// 创建项目目录结构
buildAppDir();
}
//加载ThinkPHP基类
import("Think.Core.Base");
//加载异常处理类
import("Think.Exception.ThinkException");
// 加载日志类
import("Think.Util.Log");
//加载Think核心类
import("Think.Core.App");
import("Think.Core.Action");
import("Think.Core.Model");
import("Think.Core.View");
// 是否生成核心缓存
$cache = ( !defined(CACHE_RUNTIME) || CACHE_RUNTIME == true );
if($cache) {
if(defined(STRIP_RUNTIME_SPACE) && STRIP_RUNTIME_SPACE == false ) {
$fun = file_get_contents;
}else{
$fun = php_strip_whitespace;
}
// 生成核心文件的缓存 去掉文件空白以减少大小
$content = $fun(THINK_PATH./Common/defines.php);
$content .= $fun(THINK_PATH./Common/functions.php);
$content .= $fun(THINK_PATH./Lib/Think/Core/Base.class.php);
$content .= $fun(THINK_PATH./Lib/Think/Exception/ThinkException.class.php);
$content .= $fun(THINK_PATH./Lib/Think/Util/Log.class.php);
$content .= $fun(THINK_PATH./Lib/Think/Core/App.class.php);
$content .= $fun(THINK_PATH./Lib/Think/Core/Action.class.php);
$content .= $fun(THINK_PATH./Lib/Think/Core/Model.class.php);
$content .= $fun(THINK_PATH./Lib/Think/Core/View.class.php);
}
if(version_compare(PHP_VERSION,5.2.0,
// 加载兼容函数
require_once THINK_PATH./Common/compat.php;
if($cache) {
$content .= $fun(THINK_PATH./Common/compat.php);
}
}
if($cache) {
file_put_contents(RUNTIME_PATH.~runtime.php,$content);//将字符串写入文件
unset($content);//销毁$content
}
}
// 记录加载文件时间
$GLOBALS[_loadTime] = microtime(TRUE);
?>
上一篇: MySQL程序设计介绍[图]_MySQL