yaml 数据格式,基本格式

2022-12-04 15:45:02 浏览数 (1)

  • 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 格式,代表文件的开始; ... 表示结束,结束标记可以省略

代码语言:javascript复制
---yamldatabase:    username: "root"    password: "123456"...

2. # 表示单行注释,注释内容会被解析器忽略

代码语言:javascript复制
# 名称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);

0 人点赞