xp-forge / yaml
YAML解析器
v8.1.0
2024-03-24 13:48 UTC
Requires
- php: >=7.0.0
- xp-framework/core: ^12.0 | ^11.0 | ^10.0
Requires (Dev)
- xp-framework/test: ^2.0 | ^1.0
README
使用示例
use org\yaml\{YamlParser, FileInput}; $result= (new YamlParser())->parse(new FileInput('.travis.yml')); // [ // language => "php" // php => [7, 7.1, 7.2, 7.3, 7.4, "nightly"] // matrix => [ // allow_failures => [[ // php => "nightly" // ]] // ] // before_script => ["curl ...", ...] // script => ["sh xp-run xp.unittest.TestRunner src/test/php"] // ]
输入
org.yaml.FileInput(io.File|string $in)
- 使用文件实例或文件名org.yaml.ReaderInput(io.streams.TextReader $in)
- 从文本读取器读取org.yaml.StringInput(string $in)
- 从字符串输入
多个文档
YAML源可以包含多个文档。`parse()` 方法只会解析第一个(或唯一一个)文档。要检索给定输入中的所有文档,请使用由 `documents()` 返回的迭代器。
use org\yaml\{YamlParser, FileInput}; use util\cmd\Console; $parser= new YamlParser(); foreach ($parser->documents(new FileInput('objects.yml')) as $i => $document) { Console::writeLine('Document #', $i, ': ', $document); }