elsevier-io / json-schema-php-generator
库,用于生成JSON Schema中数据结构的PHP表示
该包的官方仓库似乎已消失,因此该包已被冻结。
v1.4.0
2023-06-02 12:47 UTC
Requires
- php: ~7.0 || ~8.1
- ext-json: *
- ext-mbstring: *
- justinrainbow/json-schema: ^5.2
- league/flysystem: ^2.0
- monolog/monolog: ^2.7
- nette/php-generator: ^3.5
- nette/utils: ^3.2
- psr/log: ^1.0
- symfony/console: ^4.4||^5.4
Requires (Dev)
- hamcrest/hamcrest-php: ^2.0
- json-schema/json-schema-test-suite: 1.3.0
- phpunit/phpunit: ^4.8.36
- squizlabs/php_codesniffer: ^3.1
README
生成JSON Schema中数据结构的PHP表示的工具。JSON schema中的实体由PHP DTO表示。必须属性通过构造函数添加(如果定义在JSON中则尊重顺序)和可选属性通过setter添加。请参阅tests/examples
文件夹以获取创建的PHP示例(这些示例由测试使用)。
有一个命令行脚本来运行此工具
./bin/php-json-schema-generate
不带任何参数或选项运行它将提供使用文档。
到目前为止,这仅是JSON Schema的部分实现。请参阅测试以了解已实现的方面。
待办事项
- 向命令添加更多控制台日志
- 在控制台命令中关于文件删除添加警告/确认步骤
- 添加从文件读取配置而不是作为参数传递的选项
- 使命名空间参数可选(因此创建不带任何命名空间的输出)
- 添加对nulls的支持
- 确保生成器可以处理所有有效的JSON Schema(Schemata?)
- 在生成代码之前解析schema到AST(以便我们可以创建不同的代码生成器)
- 添加选项以在生成的代码中切换吞咽无效值和抛出值