Composer Scripts 可调用 phpDocumentor、OpenAPI Generator 等工具自动生成文档和 API 客户端;只需在 composer.json 的 scripts 中配置对应命令,如 "docs:generate" 和 "client:generate",并确保工具已安装即可实现一键生成。

Composer Scripts 本身不直接生成文档或 API 客户端,但它可以作为自动化入口,调用专门的工具(如 Swagger CLI、OpenAPI Generator、phpDocumentor 等)来完成这类任务。关键在于把生成逻辑封装成可执行命令,并在 composer.json 的 scripts 段中注册。
配置 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 客户端:
- 推荐通过 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 里。










