programster / json-schema-creator
一个PHP包,用于简化创建JSON模式。
1.2.0
2021-07-08 15:41 UTC
Requires
- php: >=8.0.0
Requires (Dev)
- swaggest/json-schema: ^0.12.35
README
JSON Schema Creator 这是一个简单的PHP包,可以快速轻松地生成可以用于验证和文档的JSON模式。
这个工具主要是在opis.io/json-schema的JSON模式文档的帮助下构建的。
安装
composer require programster/json-schema-creator
示例
<?php require_once(__DIR__ . '/../vendor/autoload.php'); $name = new \Programster\JsonSchema\Types\StringType(name: "product_name", minLength: 3); $barcode = new \Programster\JsonSchema\Types\StringType(name: "barcode", minLength: 12); $description = new \Programster\JsonSchema\Types\StringType(name: "description", minLength: 12); $requiredProperties = array( $name, $barcode, ); $nonRequiredProprties = array( $description ); $object = new Programster\JsonSchema\Types\ObjectType( "Product", new Programster\JsonSchema\PropertyCollection(...$requiredProperties, ...$nonRequiredProprties), new Programster\JsonSchema\RequiredPropertiesCollection(...$requiredProperties) ); $schema = new \Programster\JsonSchema\Schema($object, "Product Schema", "A product definition"); print($schema) . PHP_EOL;
这将生成以下模式
{
"$schema": "https://json-schema.fullstack.org.cn/draft-07/schema#",
"$id": "Product Schema",
"title": "A product definition",
"name": "Product",
"type": "object",
"properties": {
"product_name": {
"type": "string",
"minLength": 3
},
"barcode": {
"type": "string",
"minLength": 12
},
"description": {
"type": "string",
"minLength": 12
}
},
"required": [
"product_name",
"barcode"
]
}
测试
您可以使用jsonschemalint.com检查您生成的模式是否有效