matchory/herodot

用于构建Laravel API的灵活文档生成器。

dev-main 2021-02-17 08:40 UTC

This package is auto-updated.

Last update: 2024-09-17 16:42:19 UTC


README

Herodot

用于构建Laravel API的灵活文档生成器。
探索文档

Herodot是一个文档生成框架,专为Laravel应用程序定制。它通过分析应用程序的源代码来生成文档。
尽管一切通常都运行良好,但Herodot是完全模块化的、可配置的,并在许多有趣的地方提供了钩子和事件。

特性

  • 精心为Laravel构建
    Herodot考虑了Laravel应用程序的每个部分:从聪明的路由解析、API资源、策略和内置中间件支持到与Passport、Fortify、Sanctum、Scout和其他应用程序的集成。您越坚持标准,它就越出色。
  • 适应您的文档方式
    Herodot为PHP8+属性、OpenAPI注释、文档注释、外部数据源或仅源代码解析提供策略。无论您如何偏好文档API,Herodot都将理解它。
  • 独立的路由收集、信息提取和输出生成
    Herodot使用完全隔离的阶段,这使得它可以像乐高积木一样扩展和替换实现。
  • 广泛文档化
    Herodot附带广泛的文档,从简单设置到编写扩展。

要求

  • PHP >= 8.0 (请参阅为什么我们需要PHP 8)
  • Laravel >= 7.0 (旧版本/Lumen 可能 也能工作,但既未经过测试也未进行优化)

替代品

入门

要开始使用Herodot,请通过Composer安装它

php composer require matchory/herodot

除非您已禁用包自动发现,否则Herodot应已安装并可使用。否则,将服务提供程序添加到您的config/app.php

'providers' => [
    // ...
    Matchory\Herodot\HerodotServiceProvider::class,
],

用法

Herodot为您应用程序添加一个中央Artisan命令

php artisan herodot:generate

执行它将启动文档生成。您现在可以安全地这样做:Herodot将分析您的代码并在public/docs中生成文档。如果此目录已存在,则在写入任何内容之前将提示您。
默认情况下,这将为您留下一个HTML页面和一个OpenAPI(也称为Swagger)定义。要配置输出格式和其他任何设置,您应发布包配置文件

php artisan vendor:publish --provider="Matchory\\Herodot\\HerodotServiceProvider" --tag="config"

这将导致配置文件被发布到config/herodot.php。查看配置参考以了解所有可用选项。

API文档化

请参阅文档了解如何文档化您的API!

贡献

贡献使开源社区成为一个如此令人惊叹的学习、灵感和创造的地方。您所做的任何贡献都将受到高度赞赏

叉项目

  • 创建您的功能分支 (git checkout -b your-name/amazing-feature)
  • 提交您的更改 (git commit -m 'Add some amazing feature')
  • 将更改推送到分支 (git push origin your-name/amazing-feature)
  • 打开拉取请求

许可

根据MIT许可证分发。有关更多信息,请参阅LICENSE