1. 程式人生 > >TP5.1核心程式碼學習 day1

TP5.1核心程式碼學習 day1

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檔案載入的內容,還需要仔細研究下,加油!