primasoftware / swagger-php
swagger-php - 使用 phpdoc 注释生成 RESTful API 的交互式文档
3.1.1
2019-08-02 04:45 UTC
Requires
- php: >=7.2
- doctrine/annotations: *
- symfony/finder: >=2.2
- symfony/yaml: >=3.3
Requires (Dev)
- phpunit/phpunit: >=8
- squizlabs/php_codesniffer: >=3.3
- zendframework/zend-form: <2.8
- dev-master
- 3.1.1
- 3.1
- 3.0.2
- 3.0.1
- 3.0.0
- 2.x-dev
- 2.0.14
- 2.0.13
- 2.0.12
- 2.0.11
- 2.0.10
- 2.0.9
- 2.0.8
- 2.0.7
- 2.0.6
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.0.0
- 0.9.6
- 0.9.5
- 0.9.4
- 0.9.3
- 0.9.2
- 0.9.1
- 0.9.0
- 0.8.3
- 0.8.2
- 0.8.1
- 0.8.0
- 0.7.3
- 0.7.2
- 0.7.1
- 0.7.0
- 0.6.1
- 0.6.0
- 0.4.3
- 0.4.2
- 0.4.1
- 0.4.0
- 0.3.0
- 0.2.1
- 0.1.0
- dev-example-dynamic-references
This package is not auto-updated.
Last update: 2024-09-22 04:07:44 UTC
README
swagger-php
使用 OpenAPI 注解生成 RESTful API 的交互式文档。
特性
- 兼容 OpenAPI 3.0 规范。
- 从代码和现有的 phpdoc 注释中提取信息。
- 提供命令行界面。
- 文档网站 提供入门指南。
- 出色的错误报告(带有提示和上下文)
安装(使用 Composer)
composer require zircote/swagger-php
从命令行界面使用,请全局安装 swagger-php 并确保将 ~/.composer/vendor/bin 目录添加到您的 PATH 中,以便系统可以找到 openapi 可执行文件。
composer global require zircote/swagger-php
使用方法
向您的 PHP 文件添加注释。
/** * @OA\Info(title="My First API", version="0.1") */ /** * @OA\Get( * path="/api/resource.json", * @OA\Response(response="200", description="An example resource") * ) */
访问 文档网站 中的 入门指南 或查看 示例目录 以获取更多示例。
从 PHP 使用
生成始终是最新的文档。
<?php require("vendor/autoload.php"); $openapi = \OpenApi\scan('/path/to/project'); header('Content-Type: application/x-yaml'); echo $openapi->toYaml();
从命令行界面使用
将文档生成到静态的 JSON 文件。
./vendor/bin/openapi --help
从反序列化器使用
从 JSON 字符串生成 OpenApi 注解对象,这使得通过程序来操作对象变得更加容易。
<?php use OpenApi\Serializer; $serializer = new Serializer(); $openapi = $serializer->deserialize($jsonString, 'OpenApi\Annotations\OpenApi'); echo $openapi->toJson();
从 docker 使用
将 swagger 文档生成到静态的 JSON 文件。
docker run -v "$PWD":/app -it tico/swagger-php --help
关于 OpenApi 和 Swagger 的更多信息
贡献
请随意提交 GitHub 问题 或拉取请求。
文档网站是从 docs 文件夹构建的,使用 vuepress。
确保拉取请求通过 PHPUnit 和 PHP_CodeSniffer(PSR-2)测试。
要运行单元测试和代码检查,请执行
composer test
只运行单元测试
./bin/phpunit
只运行代码检查
./bin/phpcs -p --extensions=php --standard=PSR2 --error-severity=1 --warning-severity=0 ./src ./tests