phramework/validate-filler

填充由 validate (JSON 规范) 生成表单

1.3.0 2022-05-13 12:20 UTC

README

填充由 validate (JSON 规范) 生成表单

Build Status Coverage Status

用法

使用 composer 安装包

composer require phramework/validate-filler

示例:从 json 解析 schema

<?php
$validator = \Phramework\Validate\ObjectValidator::createFromJSON('{
  "type": "object",
  "properties": {
    "a": {
      "type": "string",
      "enum": [
        "1",
        "2",
        "3"
      ]
    },
    "b": {
      "type": "string",
      "enum": [
        "i",
        "ii",
        "iii"
      ]
    }
  },
  "required": ["a"]
}');

$value = (new \Phramework\ValidateFiller\Filler())
    ->fill($validator);

var_dump($value);

示例输出

class stdClass#1381 (1) {
  public $a =>
  string(1) "2"
}
class stdClass#1381 (2) {
  public $a =>
  string(1) "3"
  public $b =>
  string(2) "ii"
}
  • 将始终包含属性 "a",因为它需要
  • 有时会包含属性 "b" (概率性)

示例:使用 ObjectValidator 构造函数

<?php
$validator = new \Phramework\Validate\ObjectValidator(
    (object) [
        'a' => new \Phramework\Validate\EnumValidator([
            '1',
            '2',
            '3'
        ]),
        'b' => new \Phramework\Validate\EnumValidator([
            'i',
            'ii',
            'iii'
        ])
    ],
    ['a'],
    false
);

$value = (new \Phramework\ValidateFiller\Filler())
    ->fill($validator);

开发

安装依赖项

composer update

测试和代码格式检查

composer test
composer lint

生成文档

composer doc

许可证

版权 2015-2017 Xenofon Spafaridis

根据 Apache 许可证 2.0 版(“许可证”)许可;除非适用法律要求或经书面同意,否则不得使用此文件。您可以在以下位置获得许可证的副本:

https://apache.ac.cn/licenses/LICENSE-2.0

除非适用法律要求或书面同意,否则在许可证下分发的软件按“原样”提供,不提供任何明示或暗示的保证或条件。有关许可证的具体语言管理权限和限制,请参阅许可证。