用途:帮助把 PHP 项目升级到指定目标版本,扫描弃用与兼容性问题,报告问题清单,经用户确认后应用自动修复,并验证结果。
主要能力:检测当前 PHP 配置与语言级别;检查 Composer 依赖与 composer.json 中的 PHP 版本约束;用 glob 查找 PHP 文件(排除 vendor/);对每个文件运行弃用检查(minSeverity 为 WEAK_WARNING);可用结构化搜索补充查找动态属性等模式;按 P0(目标版本中会报错)、P1(目标版本中已移除的弃用)、P2(目标版本中会警告的弃用)分类汇总问题数量与是否可自动修复。
使用方式:先确认目标版本,调用 get_php_project_config()、get_composer_dependencies()、get_file_text_by_path(pathInProject: "composer.json") 了解现状;再扫描并展示问题清单,等待用户明确确认后才进入修复。修复按 P0→P1→P2 顺序,逐文件处理:有 quickFixes 时用 apply_quick_fix(filePath, line, column, quickFixName),无快速修复时读取上下文后用 replace_text_in_file 手动修改,每文件最多重扫 3 轮。常见手动修复包括隐式可空参数改为 ?Type、${} 插值改为 {$name}、部分支持的可调用改为 self::method(...)。之后更新 composer.json 的 PHP 约束,但不自动运行 composer update,建议用户手动执行。验证阶段重扫修改文件,用 get_run_configurations() 查看测试配置并建议用户自行运行测试,最后输出升级摘要。
适用场景:升级 PHP 版本、修复弃用或兼容性问题、扫描版本相关问题。
限制:不自动执行 composer update 或测试;无文档化替代方案时添加 TODO 注释并列入剩余项;大型项目需分批扫描;存在多个 composer.json 时需询问用户升级哪个子项目。具体收费、平台支持等信息暂未提供。