本文主要是咔咔對框架程式碼做的一點優化,這只是咔咔的優化思路。
#在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之配置載入程式碼最佳化的詳細內容。更多資訊請關注PHP中文網其他相關文章!