最近因為剛好有空閑時間就看了下關于TP5的源碼七芭,把自己的分析分享出來作為備忘以及大家借鑒一起學習脚曾,紕漏之處非常歡迎拍磚向楼。
首先說下TP加載總結構文件:
[localserver/index.php] //入口文件 引導執(zhí)行tp 核心框架文件
[localserver/thinkphp/base.php] //定義一些系統(tǒng)級常量斩芭,注冊自動加載誊酌,注冊錯誤異常機制
-[localserver/thinkphp/library/think/Loader.php] //注冊自動加載(注冊命名空間定義namespace派哲、類映射classmap参袱、composer自動加載代兵、extend目錄自動加載 )
-[localserver/thinkphp/library/think/Error.php] //錯誤異常處理包括級別
-[localserver/thinkphp/convention.php] //應用基礎的常規(guī)的一些配置定義
[localserver/thinkphp/App.php] //核心執(zhí)行程序相味,通過請求(Request)進行路由檢測拾积、調度、執(zhí)行
-[localserver/thinkphp/library/think/Request.php] //看名字就知道類作用了
*-[localserver/{app}/{module}/init.php] //加載模塊初始化文件丰涉,當然如果你定義了的話
*-[localserver/{app}/{module}/config.{conf_ext}] //如果init文件不存在則直接加載該配置(alias拓巧、tags、common一死、lang等)
*-[localserver/thinkphp/lang/{lang_type}.php] //如果開啟了多語言的話肛度,加載當前語言環(huán)境相關文件
*-[localserver/thinkphp/library/think/Route.php] //看名字就知道類作用了,后續(xù)章節(jié)詳解
PS:帶星號為未必存在文件投慈,{var}表示根據(jù)你項目不同或當前應用處理環(huán)境不同而變化承耿。
后續(xù)章節(jié)會對涉及文件以及必要文件進行源碼分析講解:
Loader冠骄、Request、Rout加袋、Controller凛辣、Model、Db职烧、Cache