- 1. yaml 介绍
- 2. yaml 数据结构
- 3. yaml 基本语法
- 4. yaml 库
1. yaml 介绍
yaml 是一种类似 xml 和 json 的标记性语言。yaml 是一种直观的数据序列化格式,可读性强,各种编程语言都有支持 yaml 的库。它以数据为核心,比传统的 xml 更加简洁。其文件扩展名可以使用 .yml 和 .yaml
2. yaml 数据结构
yaml 认为数据由三种结构组成: 纯量、序列、键值表
1. 纯量 (scalars)
纯量又称为标量,就是最基本的、不可再分的值,如: 字符串、布尔值、数字、null、时间、日期
代码语言:javascript复制title: 网站标题mobile: 10086job: ~jobs: null
2. 序列
序列又称为数组、列表
代码语言:javascript复制# 序列js: - vue - react
转为 javascript 后
代码语言:javascript复制{ js: ['vue', 'react'] }
3. 键值表
键值表其实就是对象或数组,在 js 中是对象,在 php 中是数组
代码语言:javascript复制# 键值表database: username: "root" password: "123456"
转为 php 数据后
代码语言:javascript复制^ array:1 [▼ "database" => array:2 [▼ "username" => "root" "password" => "123456" ]]
3. yaml 基本语法
1. ---
表示 yaml 格式,代表文件的开始; ...
表示结束,结束标记可以省略
---yamldatabase: username: "root" password: "123456"...
2. #
表示单行注释,注释内容会被解析器忽略
# 名称name: 网站标题# 数组javascript: - vue - react
3. 使用空格表示层级关系: 缩进的空格数量不重要,但相同层级的元素必须左侧对齐。特别注意: 不支持 tab 缩进
代码语言:javascript复制# 错误写法database: username: "root" password: "123456"# 正确写法database: username: "root" password: "123456"
4. yaml 库
各种编程语言都有支持 yaml 数据格式的库,在 PHP 中可以使用:
代码语言:javascript复制composer require symfony/yaml
代码语言:javascript复制$file = 'data.yml';$config = (new SymfonyComponentYamlYaml)->parseFile($file);