首页 > 后端开发 > PHP,好久不见 > 用php对象,简化Json Schema的定义
2019
07-28

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

Github地址

  • 使用php对象,描述Json-Schema变得更容易(支持draft-07 和 draft-06)
  • 使用opis/json-schema作为校验器

好处

  • 定义容易,不用写复杂的json
  • 定义更有可读性

安装

composer require "foamzou/easy-json-schema"

基本使用

Schema的定义

下面是与json-schema的对比,可以看到使用php对象的定义会更简单、更有可读性且更容易维护

php版

Json-Schema

数据类型

字符串

数字

整型

布尔

空值

数组

对象

关键字

枚举

常量

AnyOf, OneOf, AllOf

not

if.then.else

复用schema

在开发中,经常会定义公共的实体。当其他地方需要复用同一个schema时,可使用require引入

公共方法

所有对象都有desc方法,用于描述该对象

基于Type的对象,都有default方法,用于设置默认值

将EasyJsonSchema编译为Json Schema

校验数据并获取错误信息

如果给定的数据与schema不匹配,isValid方法将返回false,反之则为true

当返回false时,$errMessage和$errList不为空。

$errMessage为语义化好的字符串,$errList是一个item为Opis\JsonSchema\ValidationError的数组

如果$errMessage展示的格式或内容不符合需求,你可以使用$errList来构建想要展示出来的错误信息

最后编辑:
作者:foam
foam
这个作者貌似有点懒,什么都没有留下。

留下一个回复

你的email不会被公开。

6 加上 10 ?