用途:该技能提供将 TYPO3 扩展升级到更新 LTS 版本的框架,仅处理扩展代码,不涉及项目或核心升级。
主要能力:整合升级工具链,包括用于诊断废弃 API 的 Extension Scanner(TYPO3 后端)、自动化 PHP 迁移的 Rector(.php)、非 PHP 迁移的 Fractor(FlexForms、TypoScript、YAML、Fluid)、静态分析 PHPStan(.php)。
核心工作流:完成规划阶段(参考 references/pre-upgrade.md);创建功能分支(确认 git 干净);为目标版本更新 composer.json 约束;审计第三方依赖的重大版本变更;依次运行 rector process --dry-run 后审查并应用、fractor process --dry-run 后审查并应用、php-cs-fixer fix、针对每个受支持依赖版本运行 phpstan analyse 并修复错误、运行 phpunit 并修复测试;在目标 TYPO3 版本中测试;验证成功标准。
快速命令:rector process --dry-run && rector process;fractor process --dry-run && fractor process;php-cs-fixer fix && phpstan analyse && phpunit。
限制:涉及双版本兼容、缺少测试、变更不明确或复杂 API(DBAL、Extbase)时,不应盲目应用 Rector/Fractor,而应手动应用规则并在变更间测试。第三方依赖升级需枚举 API 用法、交叉引用新 API、验证 mock、对签名差异使用适配器模式,并按主版本运行 PHPStan。
资源:assets/ 提供 rector.php、fractor.php、phpstan.neon、phpunit.xml、.php-cs-fixer.php 配置模板;references/ 提供预升级、API 变更、API 陷阱、各版本升级、双兼容、真实模式、工具链输出、故障排除、第三方依赖升级、验证、多版本 worktree、审计模式等文档;scripts/scan-deprecations.sh <path> 执行确定性 grep 扫描。该技能基于 Netresearch DTT GmbH 的工作(MIT / CC-BY-SA-4.0),由 webconsulting.at 适配。