命名

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 文件格式简介

    from: http://www.cnblogs.com/phpgo/p/6480107.html .yaml 文件格式简介 命名 YAML 的意思其实是:"Yet Another Mark ...

  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. 超详细的Python matplotlib 绘制柱状图
  2. 解决Matplotlib图表不能在Pycharm中显示的问题:使用Anaconda
  3. 【ArcGIS风暴】ArcGIS10.6图斑椭球面积计算原理与方法
  4. os是android5.0,Funtouch OS 2.1曝光 完美改Android5.0
  5. Qt仿win7自动顶部最大化左侧右侧半屏效果
  6. zblog php mip,zblog网站改造百度MIP的教程仅针对zblog轻奢主题
  7. python3中用HTMLTestRunner.py报ImportError: No module named 'StringIO'解决办法
  8. 好程序员Python培训分享numpy简介
  9. Excel表格数据生成sql插入语句
  10. 流体动力matlab仿真,IND4动力总成丨基于MATLAB simulink的液力变矩器仿真建模
  11. iOS 打开扬声器以及插入耳机的操作
  12. Linux 磁盘管理的命令
  13. 柳暗花明又一村 WiFi新应用实现3D物体成像
  14. JAVA鞍山丘比特房屋租赁管理系统计算机毕业设计Mybatis+系统+数据库+调试部署
  15. 战火与秩序迁城显示服务器忙,战火与秩序怎么迁城 迁城方法和迁城技巧分享[图]...
  16. python中IOU定义
  17. 我赢助手手把手教您挖掘用户痛点、做到独一无二的定位
  18. 【数据结构】单链表的创建、插入、删除及合并
  19. 树莓派控制4路5v继电器开关
  20. 中国信创桌面云市场竞争格局初显,华为、华云、深信服占据三强

热门文章

  1. git stash pop_git常用命令行背诵并默写(全)
  2. 现在使用计算机的工作原理是,计算机的工作原理是什么
  3. php接口调用教程,php接口调用
  4. php读取txt并写入数据库,php读取txt文件组成SQL并插入数据库的方法
  5. 职工信息管理程序设计c语言,C语言程序设计职工信息管理系统.docx
  6. 利用Python绘制 3D 体素色温图
  7. AI Studio 对于波士顿房价的线性回归
  8. Infineon第九届汽车电子开发者大会宣传视频
  9. ZNCZZ|新手做车的常见误区
  10. 苏教版四下用计算机计算,苏教版四年级下册数学单元测试-4.用计算器计算 (含答案)...