yaml文件的语法及注意事项
来源:互联网 发布:ios武侠游戏知乎 编辑:程序博客网 时间:2024/06/08 18:08
因为工作需要,最近在倒腾symfony,而symfony框架里面配置文件超级多,用的都是yaml文件作为配置文件,由于自己对该文件不是很熟悉,故找了资料了解了下,此为学习笔记。
首先举个例子,
请将如下php数组转换为yaml格式:
$bat = array('website' =>array('baidu' => 'http://www.baidu.com','qq' => 'http://www.qq.com','ali' => array('http://www.taobao.com','http://www.tmall.com')),'ceo' => array('yanhongli' => '李彦宏','huatengma' => '麻花疼','yunma' => '马云'));
用yaml来表达可以表现为:
bat: website: baidu: http://www.baidu.com qq: http://www.qq.com ali: - http://www.taobao.com - http://www.tmall.com ceo: yanhongli: 李彦宏 huatengma: 麻花疼 yunma: 马云
或者这样:
bat: website:{ baidu: http://www.baidu.com, qq: http://www.qq.com, ali: [http://www.taobao.com, http://www.tmall.com] } ceo:{ yanhongli: 李彦宏, huatengma: 麻花疼, yunma: 马云 }
在yaml里面,结构通过缩进来表示,连续的项目通过减号“-”来表示,map结构里面的键值(key/value)对用冒号“:”来分割。yaml也有用来描述好几行相同结构数据的缩写语法,数组用“[]”包括起来,hash用“{}”来包括。
这几乎就是yaml的全部语法了。
使用yaml的注意事项
1.在yaml里面,结构通过缩进来表示,yaml不支持制表符tab缩进,请使用空格缩进
2、如果参数是以空格开始或结束的字符串,应使用单引号把他包进来。如果一个字符串参数包含特殊字符,也要用单引号包起来。下面是示例:
如果要保存类似 http://www.bai'u.com这样的数据时,下面这种写法是错误的:
bat: website:{baidu: http://www.bai'u.com }<span style="white-space:pre"></span>#错误写法1:没有用单引号包起来
bat: website:{baidu: ' http://www.bai'u.com'}<span style="white-space:pre"></span>#错误写法2:字符串中包含了单引号而且字符串开头有空格时需要用两个单引号来表示字符串中的单引号
正确写法如下:
bat: website:{baidu: ' http://www.bai''u.com'}3、当字符串较长时,可以使用特殊字符头外加一个缩进表示长字符串,可以换行。下面是示例:
website: caoliu: > 你懂的你懂的你懂的你懂的你懂的你懂的 你懂的你懂的你懂的你懂的你懂的你懂的 你懂的你懂的你懂的你懂的你懂的你懂的 dongjinre: | 你懂的你懂的你懂的你懂的你懂的你懂的 你懂的你懂的你懂的你懂的你懂的你懂的 你懂的你懂的你懂的你懂的你懂的你懂的4、在yaml里,用on、1、true来表示true,off、0、false来表示false
5、在yaml里,用#做注释
6、如果你在yaml文件中看到了.开头的字符串,这个字符串代表的是分类头,如下所示:
all: .general: tax: 19.6 mail: webmaster: webmaster@example.com分类头的主要作用在于使yaml文件更易读。
推荐两个php解析yaml的类库:
1、symfony框架自带的yaml模块:https://packagist.org/packages/symfony/yaml
2、spyc解析类:http://sourceforge.net/projects/spyc/files/OldFiles/spyc-0.3.beta.tar.gz/download?use_mirror=iweb&download=
- yaml文件的语法及注意事项
- yaml文件的语法及注意事项
- YAML文件语法简介
- YAML 文件语法
- yaml文件的设置及ruby读取yaml数据
- yaml的使用及.yaml文件格式问题
- 关于yml格式类型文件及YAML的一些资源
- YAML 语法
- YAML 语法
- Yaml介绍及JYaml将数据写入yaml文件
- XML/YAML文件的输入输出
- yaml资料的设置及ruby读取yaml数据
- YAML 基础语法
- YAML最最基础语法
- YAML+jinja语法
- ansible之yaml语法
- opencv2-XML和YAML文件的写入
- opencv2-XML和YAML文件的读取
- 月圆之夜
- virtual box增强包
- ubuntu 14.04开机出现错误“Error found when loading /root/.profile”解决
- 八皇后问题
- 浅析spring IOC操作
- yaml文件的语法及注意事项
- JAVA历史
- hdu 3001 Travelling (旅行商问题)
- [BZOJ1102] [POI2007]山峰和山谷Grz
- hdu 5481 Desiderium
- 软件测试
- TextView如何在超出来的字数后用省略号显示?
- MySQL嵌套查询
- 关于farpoint设置自动列宽行高及单元格内容自动换行举例