PHP静态代码检查工具
是什么?
可以理解为有一个机器人帮忙做代码 review。
为什么?
在代码运行前发现可能的问题;
减少低级问题的人工review时间,提升整体代码质量。
怎么做?
准备工作:安装 composer
略,请参考 composer 常用命令
安装及使用 phpcs
说明:phpcs 主要用于检查代码是否符合规范,常用 PSR1、PSR2 标准。
关于编码规范可以参考: PHP PSR 标准规范
# 安装
composer require --dev squizlabs/php_codesniffer
# 查看支持
./vendor/bin/phpcs -i
# 检查代码
# 此命令可以加一个 --suffix=.fixed 参数,自动修复代码并另存一个文件
./vendor/bin/phpcs ./path-to-code --standard=PSR2
# 自定义检查规则配置
# 复制一份基准规则,调教为自己期望的规则
cp vendor/squizlabs/php_codesniffer/src/Standards/PSR2/ruleset.xml ./my-phpcs-ruleset.xml
vi ./my-phpcs-ruleset.xml
./vendor/bin/phpcs ./path-to-code --standard=./my-phpcs-ruleset.xml
安装及使用 phpmd
说明:phpmd 主要用于检查代码风险,发现潜在的bug。
# 安装
composer require --dev phpmd/phpmd
# 查看支持的 规则 和 报告输出格式
./vendor/bin/phpmd -i
# 检查代码
# 示例 的 text 对应 输出格式, naming,unusedcode 对应规则(集)
./vendor/bin/phpmd ./path-to-code text naming,unusedcode
# 同样支持自定义规则
# 复制一份基准规则,调教为自己期望的规则
cp vendor/phpmd/phpmd/src/main/resources/rulesets/unusedcode.xml ./my-phpmd-ruleset.xml
vi ./my-phpmd-ruleset.xml
./vendor/bin/phpmd ./path-to-code text naming,./my-phpmd-ruleset.xml
自定义规则参考: 如何创建自定义规则集
参考文章
来源:oschina
链接:https://my.oschina.net/xupeng/blog/4290348