?
在之前我們了解的數(shù)據(jù)通信方式有json和xml,今天給給大家介紹另一個(gè)yaml,這里只是簡(jiǎn)單的介紹,目的是為了對(duì)框架源碼的解析,所以著重點(diǎn)是在解析源碼
?
yaml就是一個(gè)類似于xml、json數(shù)據(jù)通信方式,但是yaml是以數(shù)據(jù)為中心,而非標(biāo)記語(yǔ)言為重點(diǎn)。
這里提到y(tǒng)aml是因?yàn)樵诳蚣茉创a中提到了這個(gè),后邊的流程也是需要走yaml,所以還是需要簡(jiǎn)單的了解一下哈!
安裝yaml,直接到pcel里搜索yaml,下載對(duì)應(yīng)的版本即可。下載方式跟之前yaconf安裝一樣的。
安裝成功后就會(huì)在PHP中存在這個(gè)擴(kuò)展。
這里需要注意的是需要在php.ini中把yaml擴(kuò)展文件加進(jìn)去哈!
如果不會(huì)就去Yaconf在window上安裝那一欄去看是怎么安裝的,安裝那個(gè)流程就可以了。
安裝完成后就是簡(jiǎn)單的使用了,在config中新建一個(gè)kaka.yaml文件。
并且寫上如下的內(nèi)容,切記在yaml中冒號(hào)后邊需要空一格,yaml寫法就不過多說了,畢竟平時(shí)不怎么用。
這里說明只是為了閱讀框架代碼而做的工作。
測(cè)試yaml數(shù)據(jù)讀取
讀取出來(lái)的數(shù)據(jù)就是一個(gè)數(shù)組,也就是說把yaml格式的數(shù)據(jù)轉(zhuǎn)化為數(shù)組形式。
這個(gè)方法是從哪里知道的呢!
還記得在config類下loadFile方法中,根據(jù)文件擴(kuò)展的不同加載不同形式的方法。
PHP類型的直接就走了set,yaml類型的把數(shù)據(jù)處理為數(shù)組后執(zhí)行set方法
如果是其它類型的話就會(huì)在上邊說的工廠模式返回對(duì)應(yīng)類名的實(shí)例,并執(zhí)行對(duì)應(yīng)類里邊的方法將格式都轉(zhuǎn)化為數(shù)組形式。最終還是使用set方法
其它類型的配置文件最終都會(huì)走到set方法里邊。
