继上篇文章之后,我花了一些时间,写了一个简单的composer包。这个包可以自动配置git钩子,使得在commit的时候进行PHP代码的语法检查(phplint)和代码风格(phpcs)检查。这个工具同时还支持一些简单的配置,例如开启/关闭语法或者代码风格检查;支持自定义代码风格检查是使用的standard(例如PSR1,PSR2等等)。工具将会逐步完善。仓库地址:https://github.com/wowo-zZ/php-cc
工具安装
composer require zhenggui/php-cc
如果速度太慢的话,推荐先配置composer源:
composer config -g repo.packagist composer https://packagist.laravel-china.org
这样速度会快很多。
工具使用
-
写入git钩子:
composer exec -v phpcc install
该命令会首先检查当前项目是否是git项目,如果不是则会报错:
接着检查phplint和phpcs的安装是否正确,如果都安装正确,则钩子写入成功:
-
安装成功之后,在commit时,就会针对
.php
结尾的php文件分别进行phpling(语法检测)和phpcs(代码风格检测)。如果检测有报错,则打印出报错信息,终止提交过程:语法错误提示:
代码风格错误提示:
工具配置
目前工具仅支持以下配置:
-
composer exec -v phpcc config phplint/phpcs true/false
当最后一个参数为true时,表示开启对应的phplint或者phpcs,false则为关闭。下面演示单独关掉phplint:
-
composer exec -v phpcc config phpcs_standard psr2
设置phpcs时使用的standard
配置查看
支持以composer exec -v phpcc config {config_item_key}
的形式查看配置项,只要指定config_item_key
就可以了,例如phpcs_standard
:
工具卸载
可以执行composer exec -v phpcc remove
来卸载此工具。卸载之后,commit时将不做检测,直接提交:
项目地址:https://github.com/wowo-zZ/php-cc, 欢迎大家拍砖。