ThinkPHP之如何加載其它類型的配置文件

在框架中所有的配置文件類型都是PHP文件,那么我們怎么實現讓其加載其它類型的擴展呢!本文只是作為一個擴展,不建議更改框架源碼。

七、工廠模式加載其它類型的配置文件

在之前看到的loadFile方法中,文件類型為PHP或者yaml程序就打斷了,就不會在去執行后邊的pares方法。

那么這個parse方法是做什么的呢!

ThinkPHP之如何加載其它類型的配置文件進入到paras這個方法后,首先看注釋

隨后使用了一個工廠模式去加載think/config/driver下的文件

ThinkPHP之如何加載其它類型的配置文件進入到factory這個方法后,這塊內容屬于容器的就不過多解釋了。

只需要知道這里最終會返回一個實例給paras方法的$object變量

ThinkPHP之如何加載其它類型的配置文件最終還是使用在上文中提到的set方法,而內部的object->parse()就是執行返回對象的內部方法,例如下圖展示三個類型。ini、json、xm三個類型都存在同樣的方法

ThinkPHP之如何加載其它類型的配置文件這是ini類型,其它倆個的類型也是一毛一樣的,就是會有同樣的方法來實現對應的功能

ThinkPHP之如何加載其它類型的配置文件
在這里插入圖片描述

簡單梳理一下工廠模式加載不同類型的配置

  • 把對應的類型傳給一個方法
  • 然后這個方法返回對應的實例
  • 在用這個實例去調用類里邊的方法
  • 所有實例里的方法名都是一致的

這里咔咔后期會單獨出一篇文章模仿這個實現另一個功能,導圖會有所有的文章鏈接哦!

在ini.php中看到了一個方法parse_ini_file,其實這個方法根據之前的學習就大概能了解到時把ini類型的配置文件轉為數組形式。這里就不做演示了,很是簡單哈!

那么其它倆種類型都是為了把文件數據轉為數組的。

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

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