用途:把 TYPO3 扩展升级到较新或当前 LTS 版本,只处理扩展代码,不处理项目/核心升级。工具链包括 Extension Scanner(诊断废弃 API)、Rector(PHP 自动迁移)、Fractor(FlexForms、TypoScript、YAML、Fluid 等非 PHP 迁移)、PHPStan(静态分析)、php-cs-fixer 与 PHPUnit。
主要流程:先完成规划阶段(参考 references/pre-upgrade.md),创建干净分支,更新 composer.json 版本约束(如 v14 LTS 次版本为 3,写 ^14.3 而非 ^14.4;新增版本不等于替换旧版本,^12.4 || ^13.4 应变为 ^12.4 || ^13.4 || ^14.3),审查第三方依赖大版本变化,依次运行 rector process --dry-run、fractor process --dry-run 后审查应用,运行 php-cs-fixer fix,对每个支持的依赖版本运行 phpstan analyse,修复测试。安装目标版本并运行套件,对约束保留的每个旧版本行重复运行;最终以最后一行 exit= 判断,约束中每个可安装版本行套件均通过才算完成。
限制与注意事项:不盲目应用 Rector/Fractor,涉及双版本兼容、缺失测试、不明确变更或复杂 API(DBAL、Extbase)时应手动应用规则并在变更间测试;不要为变绿而回滚迁移、跳过或删除失败测试、使用 --no-verify;不要因安装失败而从约束中删除版本行,应报告为未测试。若目标版本无法安装,则升级未经验证,应如实报告错误。测试失败通常来自移除类被引用,按 import、父类、属性、签名等位置区分处理。具体版本升级细节见对应 references 文件。