小編給大家分享一下ThinkPHP之怎么加載其它類型的配置文件,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
東寧網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、響應式網(wǎng)站等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)自2013年起到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選創(chuàng)新互聯(lián)。
工廠模式加載其它類型的配置文件在框架中所有的配置文件類型都是PHP文件,那么我們怎么實現(xiàn)讓其加載其它類型的擴展呢!本文只是作為一個擴展,不建議更改框架源碼。
在之前看到的loadFile方法中,文件類型為PHP或者yaml程序就打斷了,就不會在去執(zhí)行后邊的pares方法。
進入到paras這個方法后,首先看注釋
隨后使用了一個工廠模式去加載think/config/driver下的文件
進入到factory這個方法后,這塊內(nèi)容屬于容器的就不過多解釋了。
只需要知道這里最終會返回一個實例給paras方法的$object變量
最終還是使用在上文中提到的set方法,而內(nèi)部的object->parse()就是執(zhí)行返回對象的內(nèi)部方法,例如下圖展示三個類型。ini、json、xm三個類型都存在同樣的方法
這是ini類型,其它倆個的類型也是一毛一樣的,就是會有同樣的方法來實現(xiàn)對應的功能
簡單梳理一下工廠模式加載不同類型的配置
把對應的類型傳給一個方法
然后這個方法返回對應的實例
在用這個實例去調(diào)用類里邊的方法
所有實例里的方法名都是一致的
這里咔咔后期會單獨出一篇文章模仿這個實現(xiàn)另一個功能,導圖會有所有的文章鏈接哦!
在ini.php中看到了一個方法parse_ini_file,其實這個方法根據(jù)之前的學習就大概能了解到時把ini類型的配置文件轉(zhuǎn)為數(shù)組形式。這里就不做演示了,很是簡單哈!
那么其它倆種類型都是為了把文件數(shù)據(jù)轉(zhuǎn)為數(shù)組的。
以上是“ThinkPHP之怎么加載其它類型的配置文件”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!