前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用PHPCompatibility进行PHP跨版本兼容性检查

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

作者头像
Yiiven
发布2022-12-15 13:53:46
1.2K0
发布2022-12-15 13:53:46
举报
文章被收录于专栏:怡文菌怡文菌

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

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

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

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

接下来我们就来看看如何使用她吧。

注:PHPCompatibility是PHPCodesniffer的一个插件,所以要使用PHPCompatibility,必须先安装PHPCodesniffer

1.安装PHPCodesniffer

PHP_CodeSniffer是PEAR中的一个用来检查嗅探PHP代码是否有违反一组预先设置好的编码标准的一个包,它是确保你的代码简洁一致的一个重要的开发工具,甚至还可以帮助程序员减少一些语义错误;它包含两类脚本,分别为phpcs和phpcbf(Github地址

根据PHPCompatibility的介绍,PHP5.4+,我们选择安装PHPCodesniffer3.x,推荐使用composer或pear安装,至于如何使用composer,我之前有写过一篇文章,如有需要可以前往查看,传送门:Composer的使用。pear的使用就请各位自行搜索使用方法了~_~,接下来我们的介绍使用composer的方法进行安装:

代码语言:javascript
复制
composer global require "squizlabs/php_codesniffer=*"

安装完成后,会在全局的Verndor目录下的bin中生成两个软链接:phpcs和phpcbf

如果您不知道全局vendor目录在哪儿,可以使用如下命令查看

代码语言:javascript
复制
composer global config bin-dir --absolute

PHPCodesniffer安装完成后,我们可以检查一下是否安装是否正常

代码语言:javascript
复制
phpcs --version

注:如果您是Windows用户,您需要将PHPCodesniffer的安装路径(需要深入到PHPCodesniffer的bin目录)添加到系统环境变量PATH中去(和添加php的环境变量方法相同)

如果屏幕中显示了版本信息,那么说明安装成功了,这时我们已经可以使用PHPCodesniffer来检查我们的代码规范了

代码语言:javascript
复制
phpcs /path/to/code

但这不是我们的目的,我们的目的是使用PHPCompatibility,所以我们继续安装PHPCompatibility(Github地址

因为PHPCompatbility仅仅作为PHPCodesniffer的插件使用,我们这推荐使用zip的方式进行安装,直接前往release版本中心下载最新的版本,然后解压到任意目录(路径中不建议包含中文)即可。然后执行命令让PHPCodesniffer知道您的PHPCompatibility的安装路径

代码语言:javascript
复制
phpcs --config-set installed_paths /path/to/PHPCompatibility

执行上述命令后我们可以看到successfull的提示,但为了准确的知道安装是否正确,我们可以使用命令来检查

代码语言:javascript
复制
phpcs -i

如果打印出了PHPCompatibility说明配置成功,到此我们就已经配置完成,可以开始使用PHPCompatibility来检查我们PHP程序了,基本使用方法,更详细的方法可前往Github查看官方文档:

代码语言:javascript
复制
# 检查当前目录的所有文件
phpcs -p . --standard=PHPCompatibility
# 检查指定文件
phpcs -p /path/to/code --standard=PHPCompatibility

本文采用 「CC BY-NC-SA 4.0」创作共享协议,转载请标注以下信息:

原文出处:Yiiven https://cloud.tencent.com/developer/article/2193132

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-08-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档