PHP代码规范与质量检查工具

良好的代码规范可以提高代码可读性,团队沟通维护成本。最推荐大家遵守的是 php-fig(PHP Framework Interop Group) 组织定义的 PSR-1PSR-2 两个。不了解的同学可以先通过连接点击过去阅读下。


PHP-CS-Fixer

项目地址: https://github.com/FriendsOfPHP/PHP-CS-Fixer

通过安装 Composer 安装

1
composer.phar global require fabpot/php-cs-fixer

然后,确保 ~/.composer/vendor/bin 目录在你的 PATH 中。

1
export PATH="$PATH:$HOME/.composer/vendor/bin"

其他安装方法参考官方的 Installation

使用

使用 fix 指令修复文件夹或文件的代码风格

1
2
php php-cs-fixer.phar fix /path/to/dir
php php-cs-fixer.phar fix /path/to/file

使用 --level 选项设置修复至的「规范」。

1
2
3
4
php php-cs-fixer.phar fix /path/to/project --level=psr0
php php-cs-fixer.phar fix /path/to/project --level=psr1
php php-cs-fixer.phar fix /path/to/project --level=psr2
php php-cs-fixer.phar fix /path/to/project --level=symfony

更多使用方式参见 Usage

PHPMD

项目地址: https://github.com/phpmd/phpmd

通过安装 Composer 安装

1
composer.phar global require fabpot/php-cs-fixer

下载 phar 文件安装

1
2
3
wget -c http://static.phpmd.org/php/latest/phpmd.phar
mv phpmd.phar /usr/bin/phpmd
chmod +x /usr/bin/phpmd

使用

检查代码质量

1
2
# phpmd 代码路径 报告格式
phpmd /path/to/source text

或者指定要检查的规则

1
2
# phpmd 代码路径 报告格式 规则列表
phpmd /path/to/source text codesize,unusedcode,naming

或者使用xml指定检查规则

1
2
# phpmd 代码路径 报告格式 规则xml文件
phpmd /path/to/source text /phpmd_ruleset.xml

报告格式有

  • xml, 以 XML 格式输出
  • text, 简单的文本格式
  • html, 输出到单个的html

这里有一个phpmd规则可参考:https://github.com/overtrue/phpmd-rulesets