dev-master 2020-04-27 15:19 UTC

This package is auto-updated.

Last update: 2024-09-28 00:34:03 UTC


README

增强 YAML,基于 Symfony Yaml,目前增加了 include 功能。

License: MIT

这是一个新项目,可能还需要调试。

如果您喜欢,请访问我的个人主页: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 需要唯一的键)

结果

scr.jpg

替换常量字符串

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

隐私 | 法律