erasys / openapi-php
PHP 的 Open API 3.0 构建器和验证库,帮助您编写有效的规范。
4.0.0
2023-11-03 09:41 UTC
Requires
- php: ^8.2
- illuminate/contracts: ^10.14.1
- justinrainbow/json-schema: ^5.2
- symfony/yaml: ^v6.3
Requires (Dev)
- phpunit/phpunit: ^9.6.8
- squizlabs/php_codesniffer: ^3.7.2
README
PHP 的 Open API 3.0 构建器和验证库,帮助您编写有效的规范。
本项目符合 PSR-1、PSR-2 和 PSR-4 标准。如果发现不符合标准,请通过 pull request 发送补丁。
特性
- 完整文档的对象化表示 Open API 3.0+ 规范,并提供辅助方法来编写有效的文档。
- 支持 Illuminate (Laravel) 的
Jsonable
和Arrayable
。 - 以纯 PHP 数组、纯对象、JSON 或 YAML 格式生成规范。
- 验证 Open API 文档是否符合 Open API 3.0.x JSON Schema。
安装
通过 Composer
$ composer require erasys/openapi-php
通过 Git
$ git clone https://github.com/erasys/openapi-php.git
使用方法
基本示例
<?php use erasys\OpenApi\Spec\v3 as OASv3; $doc = new OASv3\Document( new OASv3\Info('My API', '1.0.0', 'My API description'), [ '/foo/bar' => new OASv3\PathItem( [ 'get' => new OASv3\Operation( [ '200' => new OASv3\Response('Successful response.'), 'default' => new OASv3\Response('Default error response.'), ] ), ] ), ] ); $yaml = $doc->toYaml(); $json = $doc->toJson(); $arr = $doc->toArray(); $obj = $doc->toObject();
测试
$ composer test
或
$ vendor/bin/phpunit $ vendor/bin/phpcs
贡献
请参阅 CONTRIBUTING 获取详细信息。
许可证
MIT 许可证 (MIT)。请参阅 许可证文件 获取更多信息。