ThinkPHP之配置加載代碼優化

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

十、框架底層配置加載代碼優化

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

既然在方法最后使用parse方法,也就是之前提到的工廠模式加載其它類型的配置文件。

那么為何不讓這個工廠模式也加載PHP和yaml類型的配置文件。

ThinkPHP之配置加載代碼優化此時就需要在thinkphp/library/think/config/driver這個目錄建立php文件和yaml文件了。

首先建立一個php文件。

并且仿照其它三個類型文件,在php文件類型中只需要判斷是否為文件,然后把文件引入進來即可。

在框架中PHP類型的配置文件都是數組形式的,所以在Php.php文件中parse方法直接返回config屬性即可。

ThinkPHP之配置加載代碼優化開始開心的測試吧!之前在env的文件中配置了CONFIG_EXT這個值為yaml。

也就是說讀取config目錄下的配置文件時,只能讀取擴展為yaml類型的文件。

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

為了測試方便在config目錄下添加一個新的配置

ThinkPHP之配置加載代碼優化然后把config類中的lodeFile方法中判斷php和yaml類型的代碼注釋掉

ThinkPHP之配置加載代碼優化
在這里插入圖片描述

在控制器讀取config/app.php配置

ThinkPHP之配置加載代碼優化打印結果

打印出來的結果沒有任何瑕疵,也就說我們進行簡單優化的代碼并沒有不適之處。ThinkPHP之配置加載代碼優化至于yaml也是一樣的道理,只需要把最終的數據轉為數組返回就行了。

ThinkPHP之配置加載代碼優化

? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享