thinkphp源码解析 (Version 3.1) -1
index.php
- 定义路径常量
- 加载运行时目录
runtime.php
- 检查php版本
if(version_compare(PHP_VERSION,'5.2.0','<'))
die('require PHP > 5.2.0 !');
- 系统信息
define('IS_CGI',substr(PHP_SAPI, 0,3)=='cgi' ? 1 : 0 );
define('IS_WIN',strstr(PHP_OS, 'WIN') ? 1 : 0 );
$_SERVER['PHP_SELF']
表示当前 php 文件相对于网站根目录的位置地址,与 document root 相关.
$url = "http://"$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']
可用来表示当前url;
- 定义路径
php
defined('CORE_PATH') or define('CORE_PATH',
THINK_PATH.'Lib/');
- 运行时文件
load_runtime_file()
加载公共函数库、核心控制类、异常处理类、行为扩展类,此处用数组遍历加载,可以一试。
检查缓存目录、调试模式下删除编译缓存:
if(is_file(RUNTIME_FILE)) unlink(RUNTIME_FILE);
check_runtime()
build_runtime_cache()
- 创建项目目录结构
- build_app_dir()
- 执行入口
Think::Start();