用php对象,简化Json Schema的定义

Github地址 使用php对象,描述Json-Schema变得更容易(支持draft-07 和 draft-06) 使用opis/json-schema作为校验器 好处 定义容易,不用写复杂的json 定义更有可读性 安装 composer require "foamzou/easy-json-schema" 基本使用 use Foamzou\EasyJsonSchema\Manager\Validator; use Foamzou\EasyJsonSchema\Manager\Parser; use Foamzou\EasyJsonSchema\Type\{ Str, Integer }; // 定义一个schema $schema = new Obj([ 'name' => (new Integer)->min(2)->max(5), 'age' => (new Str)->max(120), ]); $data = [ 'name' => 'foam', 'age' => 18, ]; // 生成json-schema $jsonSchema = Parser::run($schema); //校验数据合法性,如果校验失败,errorMessage将返回具体信息 $bool = Validator::getInstance()->isValid($jsonSchema, $data, $errorMessage); Schema的定义 下面是与json-schema的对比,可以看到使用php对象的定义会更简单、更有可读性且更容易维护 php版 ...

2019-07-28 · 2 分钟 · 416 字