自学内容网 自学内容网

使用PHPCompatibility进行PHP跨版本兼容性检查

有时候我们接手一个他人的项目,或者我们可能在运营一个老旧的项目,但是新的环境PHP版本却和开发环境的不同,那么我们可能就需要检查项目中是否有出现可能的不兼容的问题,因为更新的PHP版本可能会在之前的基础上移除一些特性。

比如PHP7.x相较于PHP5.x来说,PHP7移除了不少PHP5中的特性,这就导致我们在PHP5环境下开发的程序有可能在PHP7下无法正常运行。

靠手动排查这样的问题的确很是麻烦,首先需要知道新的PHP到底移除和改变了哪些特性以及新的规范(这个嘛,是必须的啦,不断学习才能更加壮大),然后得挨个的进行全局搜索,费时又费力,如果程序时候PHP+HTML混编,那将更加头疼。

这时候我想起一句话:“人类进化历程中与其他生物最大的不同便是学会了如何使用工具”,没错我们做很多事情都是可以借助工具来完成了,PHP跨版本的兼容性检查也是一样,有人早就为我们想好了,而且已经制造出了这么一个工具:PHPCompatibility

官方gitlab仓库有两种方式:这里使用composer方式
1.本地新建composer.json

{
    "require-dev": {
        "phpcompatibility/php-compatibility": "*"
    },
    "prefer-stable" : true,
    "scripts": {
        "post-install-cmd": "\"vendor/bin/phpcs\" --config-set installed_paths vendor/phpcompatibility/php-compatibility",
        "post-update-cmd" : "\"vendor/bin/phpcs\" --config-set installed_paths vendor/phpcompatibility/php-compatibility"
    }
}

2.执行命令行

composer update

2.使用

./vendor/bin/phpcs -d memory_limit=2048M /project/kevlin.com/libs/dmdelivery --standard=PHPCompatibility --extensions=php --runtime-set testVersion 7.4 --report-full=./7.4.log

       斜体样式命令是使用 PHPCompatibility 标准来运行 PHP_CodeSniffer 来检查指定目录下的 PHP 文件,并将结果输出到一个名为 7.3.log 的完整报告文件中。该命令的含义如下:

  • ./vendor/bin/phpcs: 这部分指定了要运行的 PHP CodeSniffer 的可执行文件路径,即通过 Composer 安装的 CodeSniffer 可执行文件所在的位置。

  • -d memory_limit=2048M: 这部分设置了 PHP 运行时的内存限制为 2048M,即 2GB。这样做是为了确保在运行代码审查时有足够的内存可用。

  • /project/kevlin.com/libs/dmdelivery: 这是指定要审查的目标文件或目录的路径,即待审查的 PHP 代码所在的目录路径。

  • –standard=PHPCompatibility: 这部分指定了要使用的代码审查规范,即使用 PHPCompatibility 标准进行代码审查,该标准是用于检查代码与特定 PHP 版本兼容性的规则集。

  • –extensions=php: 这部分指定了要审查的文件扩展名,这里只审查 PHP 文件。

  • –runtime-set testVersion 7.4: 这部分设置了运行时的 PHP 版本为 7.4,这样 PHP CodeSniffer 将会根据 PHP 7.4 的规范进行代码审查。

  • –report-full=./7.4.log: 这部分指定了生成完整报告的路径和文件名,即将审查结果输出到名为 7.4.log 的文件中


原文地址:https://blog.csdn.net/kevlin_V/article/details/136527838

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!