SuperAPI AI 工具集

typo3-simplify

通用与其它

查看项目

更新于 10-15 21:10

技能介绍

用途:简化并精修近期改动的 TYPO3 扩展代码,保持功能不变,强调清晰优先、优先使用 TYPO3 API 与 v14 模式,避免过时写法。仅面向 TYPO3 v14.x。

主要能力:先用 git diff --name-only HEAD~1 或暂存改动定位文件,再并行执行三轮审查——API 复用、代码质量、效率,汇总去重后按影响排序并应用修复,最后验证行为未变。

API 复用:用 QueryBuilder 替代手写查询,用依赖注入替代 GeneralUtility::makeInstance()、ObjectManager::get() 与 $GLOBALS 访问,用 PSR-14 事件替代旧钩子与 Signal/Slot,用 Configuration/Backend/Modules.php 替代 ext_tables.php 模块注册,用 #[AsEventListener] 替代 ext_localconf.php 钩子数组。

代码质量:PHP 要求每文件一类、PSR-4、declare(strict_types=1)、final、readonly、构造器提升、显式返回类型、卫语句;Fluid 要求用 f:translate、f:link.page、f:image,重复标记用 Partials,慎用 f:format.raw;TCA 使用 label/value 的 items 格式、required、nullable、专用类型,移除冗余列与单字段 palette;Services.yaml 使用自动装配与 _defaults。

效率:QueryBuilder 只选所需列、单行加 setMaxResults()、用 count() 计数、缓存昂贵操作、避免 N+1、用 #[Lazy] 延迟加载文件引用、避免无分页 findAll()。

输出:按文件分组列出发现与修复,例如 :42 — replace GeneralUtility::makeInstance(MyService::class) → constructor injection,并提示运行测试验证。

限制:仅支持 TYPO3 v14.x;双版本扩展可临时保留过渡写法。$GLOBALS['TSFE'] 在 v14 会致命错误,应改用 $request->getAttribute('frontend.page.information')。具体安装命令与收费信息暂未提供。