index.php
start.php
base.php
base.php代碼解釋
define('THINK_VERSION', '5.0.10'); //版本號(hào)
define('THINK_START_TIME', microtime(true)); //應(yīng)用開(kāi)始時(shí)間 返回當(dāng)前 Unix 時(shí)間戳和微秒數(shù)以浮點(diǎn)數(shù)的形式
define('THINK_START_MEM', memory_get_usage()); // 返回當(dāng)前分配給你的 PHP 腳本的內(nèi)存量,單位是字節(jié)(byte
define('EXT', '.php'); //后綴名為.php
define('DS', DIRECTORY_SEPARATOR); //目錄分隔符蚌卤,在不同操作系統(tǒng)目錄分隔符不相同
defined('THINK_PATH') or define('THINK_PATH', __DIR__ . DS); //THINK_PATH 路徑為 ..../thinkphp/,沒(méi)有定義的情況下
define('LIB_PATH', THINK_PATH . 'library' . DS); //常量值為 .../thinkphp/library/
define('CORE_PATH', LIB_PATH . 'think' . DS);//常量值為 .../thinkphp/library/think/
define('TRAIT_PATH', LIB_PATH . 'traits' . DS);//常量值為 .../thinkphp/library/traits/
defined('APP_PATH') or define('APP_PATH', dirname($_SERVER['SCRIPT_FILENAME']) . DS); //APP_PATH沒(méi)有定義的情況下 就是在public目錄下 .../public/
defined('ROOT_PATH') or define('ROOT_PATH', dirname(realpath(APP_PATH)) . DS); //沒(méi)有定義ROOT_PATH的情況下,默認(rèn)為APP_PATH的上一級(jí)目錄
defined('EXTEND_PATH') or define('EXTEND_PATH', ROOT_PATH . 'extend' . DS);//默認(rèn)為ROOT_PATH目錄里面的extend目錄
defined('VENDOR_PATH') or define('VENDOR_PATH', ROOT_PATH . 'vendor' . DS);//默認(rèn)為ROOT_PATH目錄里面的vendor目錄
defined('RUNTIME_PATH') or define('RUNTIME_PATH', ROOT_PATH . 'runtime' . DS);//默認(rèn)為ROOT_PATH目錄里的runtime目錄
defined('LOG_PATH') or define('LOG_PATH', RUNTIME_PATH . 'log' . DS);//默認(rèn)為RUNTIME_PATH下面的log目錄
defined('CACHE_PATH') or define('CACHE_PATH', RUNTIME_PATH . 'cache' . DS);//默認(rèn)為RUNTIME_PATH下面的cache目錄
defined('TEMP_PATH') or define('TEMP_PATH', RUNTIME_PATH . 'temp' . DS);//默認(rèn)為RUNTIME_PATH下面的temp目錄
defined('CONF_PATH') or define('CONF_PATH', APP_PATH); // 配置文件目錄和APP_PATH目錄一樣
defined('CONF_EXT') or define('CONF_EXT', EXT); // 配置文件后綴,配置文件后綴為.php
defined('ENV_PREFIX') or define('ENV_PREFIX', 'PHP_'); // 環(huán)境變量的配置前綴為PHP_
// 環(huán)境常量
define('IS_CLI', PHP_SAPI == 'cli' ? true : false);//IS_CLS判斷是不是終端環(huán)境運(yùn)行
define('IS_WIN', strpos(PHP_OS, 'WIN') !== false);//判斷當(dāng)前操作系統(tǒng)是不是windows操作系統(tǒng)內(nèi)
// 載入Loader類(lèi)
require CORE_PATH . 'Loader.php';//加載
// 加載環(huán)境變量配置文件诫肠,線判斷根目錄下的.env文件是不是一個(gè)文件如果,格式必須是和ini文件一樣的格式校赤,再解析ini文件,設(shè)置php.ini
if (is_file(ROOT_PATH . '.env')) {
$env = parse_ini_file(ROOT_PATH . '.env', true);
foreach ($env as $key => $val) {
$name = ENV_PREFIX . strtoupper($key);
if (is_array($val)) {
foreach ($val as $k => $v) {
$item = $name . '_' . strtoupper($k);
putenv("$item=$v");//設(shè)置環(huán)境變量的值環(huán)境變量?jī)H存活于當(dāng)前請(qǐng)求期間。 在請(qǐng)求結(jié)束時(shí)環(huán)境會(huì)恢復(fù)到初始狀態(tài)
}
} else {
putenv("$name=$val");//設(shè)置環(huán)境變量的值環(huán)境變量?jī)H存活于當(dāng)前請(qǐng)求期間。 在請(qǐng)求結(jié)束時(shí)環(huán)境會(huì)恢復(fù)到初始狀態(tài)用戶(hù)僅能夠修改以 PHP_ 開(kāi)頭的環(huán)境變量
}
}
}
// 注冊(cè)自動(dòng)加載
\think\Loader::register(); //加載注冊(cè)
// 注冊(cè)錯(cuò)誤和異常處理機(jī)制
\think\Error::register();//錯(cuò)誤注冊(cè)
// 加載慣例配置文件
\think\Config::set(include THINK_PATH . 'convention' . EXT);//加載THINK_PATH下的convention.php文件
App::run()->send();
Ctrl+P搜索一下run方法