最近我们组内为了规范上传的代码,让我们安装phpcs,以及phpcbf对代码进行格式检查和修复,下面是安装及其配置方法:
1.使用composer安装
composer global require "squizlabs/php_codesniffer=*"
2.建立软链接
执行完上一步操作,phpcs和phpcbf会默认的安装到~/.composer/vendor/bin/下,所以我们要建立软链接。
ln -s ~/.composer/vendor/bin/phpcs /usr/local/bin/phpcs
ln -s ~/.composer/vendor/bin/phpcbf /usr/local/bin/phpcbf
在执行完上述命令后如果,直接打phpcs不能出来,说明/usr/local/bin/并未加入到系统path中,请自行搜索加入方法。
3.使用phpcs以及phpcbf
我们组内PHP编程工具为phpstorm, 使用其默认的代码格式化,基本来说,phpcs是不会检查出问题了,下面我们来测试一下。
phpcs xxx.php --standard=PSR2
如上图检查出文件中的代码有格式问题,发现一个error,最后一行发现空白,然后下面提示phpcbf可以自动修复1个被[x]标记的不规范代码,下面是使用phpcbf的命令修复的代码:
phpcbf xxx.php --standard=PSR2
至此代码就修复完毕了,下面我们谈的是怎么在代码上传的时候控制上面的问题不修复就无法上传。
git hook中检测
复制pre-commit中的内容到项目中的 项目目录下/.git/hooks/pre-commit下,chmod +x {project_root}/.git/hooks/pre-commit。在提交代码时,不符合PSR2标准的文件将会报错。