solvire / php-json-schema-generator
一个用PHP编写的JSON Schema生成器。该实现基于当前互联网草案。
Requires
- php: >=5.4.0
Requires (Dev)
- justinrainbow/json-schema: *
- phpunit/phpunit: 3.7.*
This package is not auto-updated.
Last update: 2024-09-23 14:54:45 UTC
README
======================
包:php-json-schema-generator
PHP JSON Schema生成器
关于JSON Schema
JSON已成为庞大的HTTP工具箱中的基本工具。为了使JSON更加稳定并增加数据结构的持久性,必须实施一些标准。这些标准将有助于以行业可以依赖的方式定义结构。在构建表示数据元素意义的一致方式中,可以找到解析数据和解释数据元素意义的方法。
由于JSON的灵活性质,良好的Schema定义进展缓慢。目前,正在制定一个互联网草案。
(http://tools.ietf.org/html/draft-zyp-json-schema-04)
有关Schema可以为您做什么以及不能做什么的用途/优点/缺点和其他讨论超出了本文档的范围。寻求您的创造力来考虑可能的情况。
关于此工具
每次创建新的REST点或数据对象时,手动编写JSON Schema有点繁琐。因为JSON可以用来表示各种数据对象,所以有一种动态地将一个对象映射到JSON Schema的方法会很有帮助。在这里,为了便于沟通,将PHP数组视为对象。
该工具的目标是提供一个简单的实现,用于从各种对象中生成JSON Schema。一些对象提供了更丰富的Schema生成选项,而另一些则没有。JSON本身在元数据方面非常轻量,因此需要根据对象的架构推断某些意义。
支持的解析器对象
- JSON字符串
- 定义RFC 4627
- 尚未进行验证
将要支持的解析器
- JSON/Schema对象
- 手动加载Schema + 属性
- 可以通过API更容易地构建
- 数组
- 简单的散列
- API加载数组
- 将验证数组结构
- ArrayObject
- 类似于数组散列
- Doctrine实体
- 使用Doctrine 2基础设施
- 从doctrine元数据生成schema
- 映射到数据库设置
- 允许映射覆盖
- 可扩展对象
- 加载用户定义的解析器
- 继承主要功能
安装
简单,假设您使用composer。将以下行添加到您的composer.json中,然后运行composer update。
"require": {
"solvire/php-json-schema-generator": "dev-master"
}
测试
PHPUnit应包含在composer require-dev配置中。安装将直接在vendor/bin中放置一个可执行文件,因此可以从那里运行。
运行
$ vendor/bin/phpunit