如何通过 Composer Scripts 自动生成文档或 API 客户端?

裘德小鎮的故事
发布: 2025-12-18 16:29:02
原创
755人浏览过
Composer Scripts 可调用 phpDocumentor、OpenAPI Generator 等工具自动生成文档和 API 客户端;只需在 composer.json 的 scripts 中配置对应命令,如 "docs:generate" 和 "client:generate",并确保工具已安装即可实现一键生成。

如何通过 composer scripts 自动生成文档或 api 客户端?

Composer Scripts 本身不直接生成文档或 API 客户端,但它可以作为自动化入口,调用专门的工具(如 Swagger CLI、OpenAPI Generator、phpDocumentor 等)来完成这类任务。关键在于把生成逻辑封装成可执行命令,并在 composer.jsonscripts 段中注册。

配置 Composer Script 调用文档生成工具

比如用 phpDocumentor 生成 PHP 代码文档:

  • 先安装: composer require --dev phpdocumentor/phpdocumentor
  • composer.json 中添加脚本:
    "scripts": {
      "docs:generate": "phpdocumentor -d src -t docs/api"
    }
    登录后复制
  • 运行:composer docs:generate,就会在 docs/api 下生成 HTML 文档

用 OpenAPI Generator 自动生成 API 客户端

如果你有 OpenAPI/Swagger 规范文件(如 openapi.yaml),可以用 OpenAPI Generator 生成 PHP 客户端:

Fotor AI Image Upscaler
Fotor AI Image Upscaler

Fotor推出的AI图片放大工具

Fotor AI Image Upscaler 73
查看详情 Fotor AI Image Upscaler
  • 推荐通过 Composer 全局或本地安装其 CLI 工具(如用 composer global require openapitools/openapi-generator-cli
  • composer.json 中定义脚本:
    "scripts": {
      "client:generate": "openapi-generator generate -i openapi.yaml -g php -o generated-client --additional-properties=packageName=MyApiClient"
    }
    登录后复制
  • 运行 composer client:generate,即可生成可直接 require 的 PHP SDK

组合脚本实现一键流程

可以把多个步骤串起来,比如先生成 OpenAPI 文件,再生成客户端和文档:

  • zircote/swagger-php 从注解生成 openapi.json
  • 再用该文件驱动文档和客户端生成
  • 脚本示例:
    "scripts": {
      "api:refresh": [
        "php vendor/bin/openapi --output openapi.json src/",
        "composer client:generate",
        "composer docs:generate"
      ]
    }
    登录后复制

基本上就这些。核心是选对工具、写对命令、配好路径。不需要改 Composer 源码,也不需要写 PHP 脚本——只要命令行能跑,就能塞进 scripts 里。

以上就是如何通过 Composer Scripts 自动生成文档或 API 客户端?的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号