Skip to content

v1.0.0

Choose a tag to compare

@xyj2156 xyj2156 released this 08 Sep 16:13
· 9 commits to main since this release
232635a

route-forge/common 首个正式版本 —— 从 route-forge-laravel 拆分出的框架无关核心,供各框架适配器(Laravel / ThinkPHP / Symfony)复用。

核心能力

  • Tier 分级解析:5 优先级解析链(显式声明 > 分类器 > 配置匹配 > 未分配兜底),支持 middleware_match any / all / DNF
  • 别名系统:宏声明 + 配置双来源合并,冲突丢弃并告警,悬空目标快速失败(RF_BE_008)
  • 统一路由仓库:按层级的元信息 / 摘要 / 未分配 / 全量索引,全部走缓存
  • TS 类型生成:d.ts / JSON 双输出,collectTargets() 支持各框架 types 命令复用(空层级保留、HEAD 过滤、body 方法识别)
  • 摘要内嵌__ROUTE_FORGE__ 一次性嵌入,JsSafeEncoder 语义与安全 JSON.parse 等价
  • 配置文件生成:PHP 源码级生成,动态值全量转义
  • 缓存层SUMMARY_LEVEL + forgetLevel() 保证层级失效必同步失效摘要

分析管道(供框架命令复用)

  • RouteAnalyzer::analyzeRoutes():raw 路由集合 + normalizer 直入分析管道
  • filterRows() / withoutHead() / listPayload():SPEC §3.2 list --json 契约组装下沉
  • RouteRepository::normalizeEndpointPrefix():端点前缀规范化公共工具

工程保障

  • 仅依赖 psr/log,零框架引用(红线见 AGENTS.md)
  • 60 个框架无关单元测试,131 断言
  • 独立 CI:PHP 8.2 – 8.5 全矩阵

完整变更

提交历史