项目中,经常因为各种原因,需要对老旧的项目进行跨大版本升级,比如从7.1升级到8.1
跨大版本升级会导致项目不可控,运行报错,出BUG等等问题,我们介绍一款工具用来解决此问题
php-compatibility检查PHP跨版本兼容性的PHP CodeSniffer嗅探器。它将允许您分析代码与更高和更低版本的PHP的兼容性
安装
composer global require --dev phpcompatibility/php-compatibility
配置
将phpcompatibility设置为phpcs的执行标准
phpcs --config-set globalComposerPath\vendor\phpcompatibility\php-compatibility
将globalComposerPath换为您全局安装的绝对路径
运行
phpcs ./extend --standard=PHPCompatibility --runtime-set testVersion 8.2
./extend 需要扫描的目录
–standard=PHPCompatibility 使用PHPCompatibility
–runtime-set testVersion 8.2 检测当前项目升级到目标版本的兼容问题
结果
可以看到,项目中那些不兼容性问题已经扫描出来,按照结果修改即可
补充说明
根据官网描述,当前对于兼容性的扫描并不能覆盖100%,所以具体的项目还需要查缺补漏