摘要:今天查看擴(kuò)展庫(kù)時(shí),看到有個(gè)叫的擴(kuò)展位列榜首,竟有多萬(wàn)下載數(shù),這么牛逼的東西我咋沒(méi)聽說(shuō)過(guò)那既然孤陋寡聞了,那就趕緊學(xué)習(xí)學(xué)習(xí)吧。
今天查看php擴(kuò)展庫(kù)時(shí)(http://pecl.php.net/package-s...),看到有個(gè)叫yaml的擴(kuò)展位列榜首,竟有2000多萬(wàn)下載數(shù),這么牛逼的東西我咋沒(méi)聽說(shuō)過(guò)那?既然孤陋寡聞了,那就趕緊學(xué)習(xí)學(xué)習(xí)吧。
什么是yaml?
YAML 是專門用來(lái)寫配置文件的語(yǔ)言,非常簡(jiǎn)潔和強(qiáng)大,遠(yuǎn)比 JSON 格式方便,其主要功能用途類似于XML或JSON。
YAML參考了其他多種語(yǔ)言,包括:XML、C語(yǔ)言、Python、Perl以及電子郵件格式RFC2822。
由于實(shí)現(xiàn)簡(jiǎn)單,解析成本很低,YAML特別適合在腳本語(yǔ)言中使用。列一下現(xiàn)有的語(yǔ)言實(shí)現(xiàn):Ruby,Java,Perl,Python,PHP,OCaml,JavaScript,除了Java,其他都是腳本語(yǔ)言,移植性非常強(qiáng)。
YAML的設(shè)計(jì)目的:
1、容易人類閱讀
2、適合表示程序語(yǔ)言的數(shù)據(jù)結(jié)構(gòu)
3、可用于不同程序間交換數(shù)據(jù)
4、支持泛型工具
5、支持串行處理
6、豐富的表達(dá)能力和可擴(kuò)展性
7、易于使用
php 中使用yaml,需要安裝php-yaml擴(kuò)展,安裝步驟我就不在這里贅述了。
安裝成功后,使用phpinfo()探針查看是否安裝成功
使用示例:
$company = array( "name" => "51Talk", "type" => "English train", "teacherNum" => 8000 ); // 生成yaml格式 $yamlData = yaml_emit($company); var_dump($yamlData); /* 輸出的yaml數(shù)據(jù)格式: string(58) "--- name: 51Talk type: English train teacherNum: 8000 ... " */ // 轉(zhuǎn)換成php變量 $parsed = yaml_parse($yamlData); // yaml格式數(shù)據(jù)轉(zhuǎn)換回php變量是否相等 var_dump($parsed == $company); // bool(true)
?>
就像json替代xml一樣,未來(lái)yaml有可能會(huì)替代json哦,還沒(méi)研究的你,趕緊研究研究吧。
關(guān)注我的公眾號(hào),長(zhǎng)期有干貨
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/22444.html
摘要:用處理,常用的方法有兩種擴(kuò)展擴(kuò)展需要以上,需要以上。我個(gè)人傾向于,因?yàn)檫€需要編譯安裝,有的時(shí)候不方便比如虛擬主機(jī)空間什么的,雖然不支持,但官方也不支持了,所以也不算什么不足。擴(kuò)展安裝標(biāo)準(zhǔn)的安裝步驟,這里就不羅嗦了。 用PHP處理YAML,常用的方法有兩種: PECL擴(kuò)展YAML spyc PECL擴(kuò)展需要PHP 5.2以上,SPYC 需要PHP 5.3以上。 我個(gè)人傾向于SPY...
摘要:對(duì)于這兩種不同形式的參數(shù),處理方式也不一樣,為字符串形式字符串則表示單個(gè)配置設(shè)置二維數(shù)組判斷字符串中是否帶沒(méi)有直接把的小寫形式作為,作為值設(shè)置到配置中如果帶,只處理前面兩項(xiàng),即把字符串通過(guò)分割成數(shù)組,取數(shù)組的前面兩項(xiàng),把設(shè)置到配置中。 源碼分析---入口篇 源碼分析 全局配置加載類 全局配置類的主要代碼如下: class Config { /** * @var ar...
摘要:?jiǎn)?dòng),輸入驗(yàn)證安裝是否成功,如果出現(xiàn)版本信息表示成功。安裝注意官方推薦的是。如果上述命令執(zhí)行失敗,需要確認(rèn)是否是最新版本。和配置文件中的保持一致在目錄下運(yùn)行命令啟動(dòng)這個(gè)提示是沖突,更改即可。再執(zhí)行,首次啟動(dòng)會(huì)有一個(gè)初始化過(guò)程查看狀態(tài)。 如果是工程化開發(fā),走正規(guī)軍路子還是推薦使用 Homestead。下載Vagrant。官方下載地址 這里下載的是Windows版本的安裝包。直接點(diǎn)擊安裝即...
摘要:整體與很像,但是做了一些更改,為了更適應(yīng)中國(guó)國(guó)內(nèi)的開發(fā)網(wǎng)絡(luò)環(huán)境。表示宿主機(jī)器的目錄,表示環(huán)境目錄。將虛擬機(jī)置于休眠狀態(tài)。在開發(fā)過(guò)程中可能會(huì)需要增加多個(gè)站點(diǎn)來(lái)運(yùn)行不同的開發(fā)程序。與擴(kuò)展名重名,建議將的改成為佳。 SimfaseDevEnv 介紹 SimfaseDevEnv是為php開發(fā)者提供的開發(fā)環(huán)境,構(gòu)建在vagrant之上;Vagrant的Vagrangfile配置文件是在Homes...
摘要:代碼目錄使用數(shù)據(jù)卷從容器內(nèi)映射到宿主機(jī),配置文件等也是通過(guò)數(shù)據(jù)卷映射到容器內(nèi)。比如中這里與的連接方式這是鏡像構(gòu)建,這里改了服務(wù)器,并安裝了若干擴(kuò)展。使用啟動(dòng)啟動(dòng)所有服務(wù)命令行總結(jié)具體可訪問(wèn) 前言 Laravel官方開發(fā)環(huán)境推薦的是Homestead(其實(shí)就是一個(gè)封裝好的Vagrant box),我感覺(jué)這個(gè)比較重,于是自己用Docker compose編排了一套開發(fā)環(huán)境,在這里分享下。 ...
閱讀 2070·2019-08-29 16:27
閱讀 1422·2019-08-29 16:14
閱讀 3437·2019-08-29 14:18
閱讀 3521·2019-08-29 13:56
閱讀 1306·2019-08-29 11:13
閱讀 2197·2019-08-28 18:19
閱讀 3505·2019-08-27 10:57
閱讀 2350·2019-08-26 11:39