walter-a-jablonowski / super-yaml
增强 Symfony YAML
dev-master
2020-04-27 15:19 UTC
Requires
- symfony/yaml: >=3.4.21
This package is auto-updated.
Last update: 2024-09-28 00:34:03 UTC
README
增强 YAML,基于 Symfony Yaml,目前增加了 include 功能。
这是一个新项目,可能还需要调试。
如果您喜欢,请访问我的个人主页:walter-a-jablonowski.github.io
使用方法
composer require walter-a-jablonowski/super-yaml
基本用法
类似 symfony yaml
SuperYaml::parse( $yml ); SuperYaml::parseFile( $fil ); SuperYaml::dump( $yml ); SuperYaml::parse( $yml, [ // use symfony flags while parsing 'flags' => ... // difference: additional args as array ]); SuperYaml::dump( $yml, [ // use symfony inline, indent, flags on dumping 'inline' => ... , 'indent' => ... , 'flags' => ... ]);
包含
见 demo/demo.php
:一个 yml 文件包含 2 个 yml 文件。
ANY_KEY: "@file(sub/sub/fil.yml)" "@include [UNIQUE_STRING]": "@file( sub/sub/fil.yml )" # also includes key(s)
[UNIQUE_STRING] = 当您再次使用相同的键时,请使用用户定义的唯一字符串(yml 需要唯一的键)
结果
替换常量字符串
见 demo/demo.php
正在构建示例
ANY_KEY: "@file([REPLACE_STRING]sub/sub/fil.yml)" "@include [UNIQUE_STRING]": "@file( [REPLACE_STRING]sub/sub/fil.yml )" # also includes key(s)
[UNIQUE_STRING] = 见上面
[REPLACE_STRING] = 将被定义为 $rpl 参数的字符串替换
SuperYaml::parse( $yml, [ // additional args as array 'rpl' => [ ] ]);
条件包含
您可以定义一个布尔变量列表,用于决定是否包含文件。在调用 SuperYaml 之前计算所有值。
见 demo/demo.php
正在构建示例
"@includeIf(boolVar) [UNIQUE_STRING]:" ANY_VALUE "@includeIf( boolVar ) [UNIQUE_STRING]": "@file( sub/sub/fil.yml )"
[UNIQUE_STRING] = 见上面
SuperYaml::parse( $yml, [ 'boolVar' => [ ] ]);
包含文本
仅包含纯文本
ANY_KEY: |
some text
@text(sub/sub/fil.yml)
some text
@text( sub/sub/fil2.yml )
变更日志
- 2020 - 修复,README
- 2020 - 添加 README,发布
- 2019 - 添加类,改进代码
- 2018 - 初步开发
许可证
版权 (C) Walter A. Jablonowski 2018-2020,MIT 许可证
第三方软件的许可证见 credits