SuperAPI AI 工具集

typo3-rector

通用与其它

查看项目

更新于 10-15 21:10

技能介绍

用途:该技能面向 TYPO3 项目的 PHP 代码自动重构与版本迁移,通过 Rector 应用预定义规则,更新已弃用的代码模式。非 PHP 迁移(FlexForms、TypoScript、Fluid、YAML)需使用 Fractor,参见 typo3-fractor 技能。兼容 TYPO3 v14.x。

主要能力:安装命令为 composer require --dev ssch/typo3-rector,DDEV 下为 ddev composer require --dev ssch/typo3-rector。在项目根目录创建 rector.php,配置 withPaths、withSkip、withPhpVersion 与 withSets(如 LevelSetList::UP_TO_PHP_84、Typo3LevelSetList::UP_TO_TYPO3_14),并可选用 Typo3SetList::TYPO3_14。typo3-rector 3.14 运行于 Rector 2.5,迁移 TYPO3 内置 Fluid 类名到独立 Fluid、makeCategorizable() 注册、扩展 $GLOBALS['TSFE']->fe_user 迁移覆盖,并加固 HashService 与 MailMessage::send() 迁移。

使用方式:先 dry run 预览,ddev exec vendor/bin/rector process --dry-run;审查 diff 后应用,ddev exec vendor/bin/rector process;随后执行 ddev typo3 cache:flush 与 ddev composer dump-autoload,再做第二次 dry run。Rector 会加载项目 autoloader,TYPO3 v14 项目须在 PHP 8.2+ 运行,建议使用 DDEV 或容器。

限制与注意:不要跳过 Rector 改用手工替换。一次应用不等于完成,规则可能生成需下一轮才能识别的代码;独立使用时最多三次应用,出现两次无变化或振荡即停止,残留 diff 需重新决策。不要仅因自动化就应用破坏性语义规则,例如图标注册移除在无已验证 SVG 替代时应推迟并记录手动跟进。发布扩展应声明 typo3/cms-core: ^14.3。详细示例与故障排查矩阵需查阅完整指南。