摘要:用處理,常用的方法有兩種擴展擴展需要以上,需要以上。我個人傾向于,因為還需要編譯安裝,有的時候不方便比如虛擬主機空間什么的,雖然不支持,但官方也不支持了,所以也不算什么不足。擴展安裝標準的安裝步驟,這里就不羅嗦了。
用PHP處理YAML,常用的方法有兩種:
PECL擴展YAML
spyc
PECL擴展需要PHP 5.2以上,SPYC 需要PHP 5.3以上。
我個人傾向于SPYC,因為PECL還需要編譯安裝,有的時候不方便(比如虛擬主機空間什么的),SPYC 雖然不支持 PHP 5.2,但5.2官方也不支持了,所以也不算什么不足。
1 PECL擴展YAML 安裝標準的PECL安裝步驟,這里就不羅嗦了。
代碼例子假設我們有這樣一個數組:
$addr = array( "given" => "Chris", "family"=> "Dumars", "address"=> array( "lines"=> "458 Walkman Dr. Suite #292", "city"=> "Royal Oak", "state"=> "MI", "postal"=> 48046, ), ); $invoice = array ( "invoice"=> 34843, "date"=> "2001-01-23", "bill-to"=> $addr, "ship-to"=> $addr, "product"=> array( array( "sku"=> "BL394D", "quantity"=> 4, "description"=> "Basketball", "price"=> 450, ), array( "sku"=> "BL4438H", "quantity"=> 1, "description"=> "Super Hoop", "price"=> 2392, ), ), "tax"=> 251.42, "total"=> 4443.52, "comments"=> "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.", );
使用yaml_emit可以將其轉化成YAML
$yaml = yaml_emit($invoice);
使用yaml_parse解析YAML:
$parsed = yaml_parse($yaml);2 使用spyc 安裝
可以使用Composer安裝,當然也可以直接require_once或include.
代碼示例生成YAML:
"A sequence","second" => "of mapped values"); $array["Mapped"] = array("A sequence","which is mapped"); $array["A Note"] = "What if your text is too long?"; $array["Another Note"] = "If that is the case, the dumper will probably fold your text by using a block. Kinda like this."; $array["The trick?"] = "The trick is that we overrode the default indent, 2, to 4 and the default wordwrap, 40, to 60."; $array["Old Dog"] = "And if you want to preserve line breaks, go ahead!"; $array["key:withcolon"] = "Should support this to"; $yaml = Spyc::YAMLDump($array,4,60);
解析YAML:
解析更常用,所以還提供了函數,上面的語句等價于:
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/20674.html
摘要:今天查看擴展庫時,看到有個叫的擴展位列榜首,竟有多萬下載數,這么牛逼的東西我咋沒聽說過那既然孤陋寡聞了,那就趕緊學習學習吧。 今天查看php擴展庫時(http://pecl.php.net/package-s...),看到有個叫yaml的擴展位列榜首,竟有2000多萬下載數,這么牛逼的東西我咋沒聽說過那?既然孤陋寡聞了,那就趕緊學習學習吧。showImg(https://segment...
摘要:對于這兩種不同形式的參數,處理方式也不一樣,為字符串形式字符串則表示單個配置設置二維數組判斷字符串中是否帶沒有直接把的小寫形式作為,作為值設置到配置中如果帶,只處理前面兩項,即把字符串通過分割成數組,取數組的前面兩項,把設置到配置中。 源碼分析---入口篇 源碼分析 全局配置加載類 全局配置類的主要代碼如下: class Config { /** * @var ar...
摘要:整體與很像,但是做了一些更改,為了更適應中國國內的開發網絡環境。表示宿主機器的目錄,表示環境目錄。將虛擬機置于休眠狀態。在開發過程中可能會需要增加多個站點來運行不同的開發程序。與擴展名重名,建議將的改成為佳。 SimfaseDevEnv 介紹 SimfaseDevEnv是為php開發者提供的開發環境,構建在vagrant之上;Vagrant的Vagrangfile配置文件是在Homes...
摘要:路由漂亮的是任何嚴謹的應用程序所必須的這意味著像這樣丑陋的要被所取代具有靈活性更加重要如果你需要將更改為需要做些什么你需要搜索并更新多少鏈接才能做出這種改動如果你使用的是的路由更改將是很簡單的創建路由路由是從到控制器的映射假如你想要一個 路由 漂亮的URL是任何嚴謹的Web應用程序所必須的. 這意味著像 index.php?article_id=57 這樣丑陋的URL要被 /read/...
摘要:作為骨灰級粉絲,一直以來對第三方監控都是拒絕的。例如白屏時間首屏時間腳本錯誤網頁加載就緒時間各種瀏覽器的訪問情況,甚至能了解不同瀏覽器運營商地區用戶的訪問狀況。腳本錯誤在所難免,錯誤進一步導致網站部分功能無法使用。 作為 Zabbix 骨灰級粉絲,一直以來對第三方監控(APM)都是拒絕的。一來覺得收費,二來擔心數據被人所知,三來覺得 Zabbix 牛逼到無可取代。但是,隨著 APM 市...
閱讀 3585·2021-11-24 10:19
閱讀 3725·2021-09-30 09:47
閱讀 1290·2019-08-30 15:56
閱讀 788·2019-08-29 15:11
閱讀 904·2019-08-29 13:43
閱讀 3567·2019-08-28 18:25
閱讀 2160·2019-08-26 13:27
閱讀 1436·2019-08-26 11:44