PHP环境下自动生成OpenAPI(Swagger)规范文件的方法咨询(适配Laravel 4.2)
Laravel 4.2 生成OpenAPI规范文件的可行方案
适配扩展包方案
- 推荐使用
swagger-php2.x版本,该版本兼容Laravel 4.2要求的PHP 5.4及以上运行环境,支持从代码注释中读取Swagger(OpenAPI 2.0)注解,一键导出JSON或YAML格式的规范文件,是目前适配旧版Laravel最成熟的方案。 - 不要使用3.x及更高版本的
swagger-php,新版本最低依赖PHP 7.2,无法在Laravel 4.2的运行环境中安装使用。
自定义实现方案
- 如果不想引入第三方扩展,可自行封装轻量生成逻辑:首先通过
Route::getRoutes()方法获取项目所有路由的请求方法、URI、对应控制器方法等基础信息。 - 再按照OpenAPI 2.0的规范结构,补全参数规则、返回结构等信息后组装为对应格式的数组,最终通过
json_encode方法导出为JSON格式,或者引入轻量YAML转换类导出为YAML格式即可。
注意事项
- Laravel 4.2已停止官方维护,对应的OpenAPI生态没有对3.0及以上版本的适配,优先使用OpenAPI 2.0规范即可满足绝大多数场景需求。
- 项目的请求参数校验、响应结构如果有公共封装,可以直接读取公共规则填充到规范生成逻辑中,无需手动重复编写信息。
内容的提问来源于stack exchange,提问作者GabMic
相关产品推荐
相关产品推荐

