本文主要是咔咔對框架代碼做的一點優化,這只是咔咔的優化思路。
十、框架底層配置加載代碼優化
在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也是一樣的道理,只需要把最終的數據轉為數組返回就行了。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END