from: http://www.cnblogs.com/phpgo/p/6480107.html

.yaml 文件格式简介

命名

YAML 的意思其实是:"Yet Another Markup Language"(仍是一种置标语言)的缩写。

功能

YAML的语法和其他高阶语言类似,并且可以简单表达清单、散列表,标量等资料形态、。

它使用 空白符号缩排 和 大量依赖外观的特色,特别适合用来表达或编辑数据结构、各种设定档、倾印除错内容、文件大纲(例如:许多电子邮件标题格式和YAML非常接近)。

尽管它比较适合用来表达阶层式(hierarchical model)的数据结构,不过也有精致的语法可以表示关联性(relational model)的资料。

由于YAML使用空白字符和分行来分隔资料,使的他特别适合用 grep、Python、Perl、Ruby 操作。

其让人最容易上手的特色是巧妙避开各种封闭符号,如:引号、各种括号等,这些符号在嵌套结构中会变得复杂而难以辨认。

格式

多行缩进

数据结构可以用类似大纲的缩排方式呈现,结构通过 缩进 来表示,连续的项目通过减号“-”来表示,map 结构里面的 key/value 对用冒号“:”来分隔。样例如下:

house:family:name: Doeparents:- John- Janechildren:- Paul- Mark- Simoneaddress:number: 34street: Main Streetcity: Nowheretownzipcode: 12345

注意:

  1. 字串不一定要用双引号标识;

  2. 在缩排中空白字符的数目并不是非常重要,只要相同阶层的元素左侧对齐就可以了(不过 不能使用TAB字符);

  3. 允许在文件中加入选择性的空行,以增加可读性;

  4. 在一个档案中,可同时包含多个文件,并用“——”分隔;

  5. 选择性的符号“...”可以用来表示档案结尾(在利用串流的通讯中,这非常有用,可以在不关闭串流的情况下,发送结束讯号)。

单行缩写

YAML也有用来描述好几行相同结构的数据的缩写语法,数组用'[]'包括起来,hash用'{}'来包括。因此,上面的这个YAML能够缩写成这样:

house:family: { name: Doe, parents: [John, Jane], children: [Paul, Mark, Simone] }address: { number: 34, street: Main Street, city: Nowheretown, zipcode: 12345 }

举例:

john.yaml 文件:

name: John Smith
age:  37
spouse: name: Jane Smith age:  25
children: -   name: Jimmy Smith age:  15 -   name: Jenny Smith age   12

数组表示:

<?php
$john = array('name'=> 'John Smith','age'=> 37,'spouse'=> array('name'=> 'Jane Smith','age'=> 25),'children'=> array(0 =>array('name'=> 'Jimmy Smith','age'=> 5),1 =>array('name'=> 'Jenny Smith','age'=> 3))
);

PHP 解析 Yaml 文件的类: 

syck:http://pecl.php.net/package/syck

yaml 文件格式简介相关推荐

  1. .yaml 文件格式简介

    命名 YAML 的意思其实是:"Yet Another Markup Language"(仍是一种置标语言)的缩写. 功能 YAML的语法和其他高阶语言类似,并且可以简单表达清单. ...

  2. yaml文件格式说明

    yaml文件格式说明 yaml简介 基本语法 YAML支持的数据结构 引用 单文件多配置 文本块 显示指定类型 yaml简介 yaml文件的后缀为.yml或者.yaml. 是一个可读性高,用来表达数据 ...

  3. AVI文件格式简介与WAV文件分析

    AVI文件格式简介与WAV文件分析 AVI文件格式(回答问题) 所有AVI文件至少包含2个必须的LIST Chunk和一个索引Chunk Chunk: LIST Chunk: 小端:数据的低位保存在内 ...

  4. yaml文件格式总结

    yaml文件格式总结 概念 基本语法 数据类型 YAML 对象 YAML 数组 复合结构 纯量 引用 概念 YAML 是 "YAML Ain't a Markup Language" ...

  5. 各类配置文件格式简介(ini,yaml,conf,xml...)和nb的Viper

    目录 配置文件 ini 介绍 语法 demo 库 json 语法 demo 库 xml 介绍 语法&demo yaml demo toml properties HOCON plist(pli ...

  6. 检查json 或 yaml 文件格式

    有时候我们修改了配置 json 或者 yaml 文件,需要校验下文件格式是否正确 源码 package mainimport ("flag""fmt"" ...

  7. 【Yaml】了解yaml文件格式

    目录 一.简介 二.基本语法 三.数据类型 四.数据结构 一.简介 YAML 是一种较为人性化的数据序列化语言,可以配合目前大多数编程语言使用. YAML 的语法比较简洁直观,特点是使用空格来表达层次 ...

  8. M3U8 文件格式简介

    HLS协议 HLS是一个由苹果公司提出的基于 HTTP 的流媒体网络传输协议,传输内容包括两部分,一是M3U8描述文件,二是TS媒体文件. 工作原理:整个流分成一个个小的基于 HTTP 的ts格式文件 ...

  9. GERBER文件格式简介

    GERBER文件是一种国际标准的光绘格式文件,它包含RS-274-D和RS-274-X两种格式,其中RS-274-D称为基本GERBER格式,并要同时附带D码文件才能完整描述一张图形;RS-274-X ...

最新文章

  1. php 后退按钮事件,php – 后退按钮的会话问题
  2. SQL Server插入binary类型的数据
  3. 不要以为写写代码就是计算机科学
  4. 模型总结:最优化模型
  5. C语言strcmp函数使用及模拟
  6. 稳压二极管和TVS管知识点总结
  7. wireshark:时区
  8. Unity中控制物体运动
  9. c语言已知斜率 求倾角,直线与方程(一)倾斜角与斜率
  10. linux ftp匿名用户,linux vsftp 匿名用户的设置
  11. 基于xlsx-populate实现的前端埋点导出
  12. access字段相加_access如何对一行的几列求和
  13. vulnhub bulldog
  14. 网络摄像头Androi端显示(mjpeg)源码分析
  15. 贵阳副市长刚写了一本区块链的书,趁热乎推荐给你!
  16. 认真对待每一道算法题 之 找明星问题 - 淘宇瀚
  17. VS2012 BIDS之Reporting Service/SSRS 项目
  18. mysql5.7.19收费》_mysql5.7.19安装
  19. 已知数据表A中每个元素距其最终位置不远,为节省时间排序,应采用什么方法排序?
  20. MOS管驱动电路,看这里就啥都懂了!

热门文章

  1. peoplepicker控件的使用
  2. 三天打工生活终于结束了
  3. 利用Canny边缘检测算子进行边缘检测的原理及OpenCV代码实现
  4. linux cp使用注意事项
  5. linux 内核网络协议栈--IP层开始直到包被处理(三)
  6. uniapp怎么引入css_uniapp - css样式设置scoped
  7. 二维方向图matlab程序,二维点源阵方向图,阵因子matlab
  8. mysql 单例模式好处_PHP单例模式的优点分析
  9. oracle11gRAC之log日志体系
  10. jquery easy ui 1.3.4 数据表格(DataGrid)(8)