Skip to content

3.1 - #46

Closed
tw2066 wants to merge 7 commits into
masterfrom
3.1
Closed

3.1#46
tw2066 wants to merge 7 commits into
masterfrom
3.1

Conversation

@tw2066

@tw2066 tw2066 commented Sep 14, 2026

Copy link
Copy Markdown
Owner

No description provided.

- 移除不必要的类名缩写处理逻辑
- 直接使用完整类名和方法名构建路径字符串
- 更新方法注释描述

(cherry picked from commit 88fd506)
- 将类方法路径信息从description字段移至x属性中存储
- 移除description字段中的HTML标签拼接逻辑
- 直接使用apiOperation描述覆盖description字段

(cherry picked from commit 6438106)
- 新增 DiMapGenerateListener 类用于收集 DI 容器映射关系
- 实现服务启动后生成 di-map.json 文件功能
- 支持路径标准化处理,兼容 WSL 和 Windows 环境
- 添加对 AOP 代理类的原始文件查找支持
- 实现工厂定义和对象定义的类型区分与路径记录
- 提供原子写入机制避免文件读写冲突
- 绑定来源只有 dependencies.php 与 lazy_loader.php:两者未更新且已有产物时跳过重写
- 实现 shouldRegenerate 方法判断是否需要重新生成
- 产物不存在时必须生成;否则 dependencies.php 或 lazy_loader.php 比产物新才重新生成
- 避免不必要的文件重写操作
- 将测试环境从多操作系统切换到统一的 Hyperf 容器环境
- 更新 PHP 版本矩阵为 8.1、8.2、8.3 的 Alpine 镜像
- 移除手动安装 Swoole 和 Swow 扩展的步骤
- 使用官方 Hyperf 镜像简化环境设置流程
- 更新 Actions 步骤名称以更好地反映执行的操作
- 提高并行执行数量从 5 到 15 优化测试效率
合并 master 兼容 3.1 的新功能与修复:
- llms.txt AI 文档支持(SwaggerLlms + 路由 + 控制器)
- Scalar 多 server URL、swagger 资源升级 5.32
- operationId 优化(去占位符、含方法名、去重)及 getRouteByOperationId
- 路径参数判断改用 FastRoute 解析器
- knife4j 文件路径穿越安全修复、ApiDocsException 工厂方法
- SwaggerCommon/Components 实例缓存、循环引用防护、代理类属性兜底
- GenerateResponses 注解优先级修正、大量测试与文档

排除 3.2 专属变更:
- composer.json 依赖升级(PHP>=8.2、dto ~3.2、swagger-php ^6、phpstan ^2)
- PHP-Parser v5 适配(GenerateProxyClass 保持 PREFER_PHP7)
- JSON 数组 RequestBody 支持(依赖 dto 3.2 的 MethodParametersManager::getProperty)
- master CI 工作流(保留 3.1 定制版)
@tw2066 tw2066 closed this Sep 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant