TP5.1核心代碼學習 自動加載過程


TP5.1發布於2018年

相對於TP5  

TP5.1  有以下改變 沒有照搬官方文檔,只是個人見解

1 取消常量配置     官方給的說法是更加靈活  現在想用個BASE_PATH 都要自己定義

2 引入容器 (container) 和facade 類  

3 目錄結構改變 多了一個config文件夾  感覺結構更清晰

我目前的常量配置在APP下的common.php里 ,也可以配置在config 下 

 

TP5.1 index.php 

require __DIR__ . '/../thinkphp/base.php';
引入的文件 base.php
Loader::register(); // 加載類文件
Loader::addClassAlias //注冊類庫 別名 

到這里已經可以調用基本類了

比如 現在要調用 DB類
\Cache::
實際上調用過程是
調用facade\Cache
當facade類中不存在此靜態方法時
就會調用該類下的PHP魔術方法
// 調用實際類的方法
public static function __callStatic($method, $params)
{
return call_user_func_array([static::createFacade(), $method], $params);
}
調用這個類文件


index.php
// 執行應用並響應
Container::get('app')->run()->send();
這里是執行應用文件的初始化,加載其他配置文件 

果然還是有點勉強 應該把TP5.1其他地方研究透徹再研究整體加載過程 因為項目用的TP5.1.19 目前最新版本是
5.1.32 LTS  修改了入口文件index.php文件加載的內容,還需要仔細研究下,加油!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM