ThinkPHP之設定載入程式碼優化

2020-10-09 18:01:12

本文主要是咔咔對框架程式碼做的一點優化,這只是咔咔的優化思路。

十、框架底層設定載入程式碼優化

thinkphp/library/think/Config.php中方法loadFile這裡看起來是不是有點不太優雅了。

既然在方法最後使用parse方法,也就是之前提到的工廠模式載入其它型別的組態檔。

那麼為何不讓這個工廠模式也載入PHP和yaml型別的組態檔。

在這裡插入圖片描述此時就需要在thinkphp/library/think/config/driver這個目錄建立php檔案和yaml檔案了。

首先建立一個php檔案。

並且仿照其它三個型別檔案,在php檔案型別中只需要判斷是否為檔案,然後把檔案引入進來即可。

在框架中PHP型別的組態檔都是陣列形式的,所以在Php.php檔案中parse方法直接返回config屬性即可。

在這裡插入圖片描述開始開心的測試吧!之前在env的檔案中設定了CONFIG_EXT這個值為yaml。

也就是說讀取config目錄下的組態檔時,只能讀取擴充套件為yaml型別的檔案。

所以需要先把這個值給改回來,等後面把yaml型別的工廠類寫好之後就可以使用了。

為了測試方便在config目錄下新增一個新的設定

在這裡插入圖片描述然後把config類中的lodeFile方法中判斷php和yaml型別的程式碼註釋掉

在這裡插入圖片描述
在這裡插入圖片描述

在控制器讀取config/app.php設定

在這裡插入圖片描述列印結果

列印出來的結果沒有任何瑕疵,也就說我們進行簡單優化的程式碼並沒有不適之處。在這裡插入圖片描述至於yaml也是一樣的道理,只需要把最終的資料轉為陣列返回就行了。

在這裡插入圖片描述以上就是咔咔對框架組態檔載入底層原始碼優化的解析過程,如有不適之處,可以評論區指出來。

堅持學習、堅持寫博、堅持分享是咔咔從業以來一直所秉持的信念。希望在偌大網際網路中咔咔的文章能帶給你一絲絲幫助。我是咔咔,下期見。

以上就是ThinkPHP之設定載入程式碼優化的詳細內容,更多請關注TW511.COM其它相關文章!