前言我一生的文章都会放在这里,我的博客,希望每一行代码,每一段文字,都能对你有所帮助。https://github.com/CrazyCodes...嗨,我是CrazyCodes,你小时候有没有做错事,被长辈训斥过?今天我们就来看看PHP的守护神,愤怒的老头——grumphpGrumPHPGrumPHP是一款挂在git钩子上的PHP代码检测工具。他可以检查编码器何时提交git。如果检查通过则提交成功,如果检查不通过则终止提交。安装可以直接通过composer安装。其他安装方式如composerrequire--devphpro/grumphp必须放在dev。在生产环境中使用是没有意义的,所以使用参数--dev。配置安装完成后,会在项目根目录下自动创建grumphp.yml。官方demo如下#grumphp.ymlparameters:bin_dir:"./vendor/bin"git_dir:"."hooks_dir:~hooks_preset:localgit_hook_variables:VAGRANT_HOST_DIR:.VAGRANT_PROJECT_DIR:/var/wwwEXEC_GRUMPHP_COMMAND:execstop_on_failure:falseignore_unstaged_changes:falsehide_circumvention_tip:falseprocess_async_limit:10process_async_wait:1000process_timeout:60ascii:失败:grumphp-grumpy.txt成功:grumphp-happy.txt任务:ant:~atoum:~behat:~brunch:~clover_coverage:~codeception:~composer:~composer_normalize:~composer_require_checker:~composer_script:~deptrac:~doctrine_orm:~file_size:~gherkin:~git_blacklist:git~git_branch_commit:ggulp:~infection:~jsonlint:~kahlan:~make:~npm_script:~paratest:~phan:~phing:~php7cc:~phpcpd:~phpcs:~phpcsfixer:~phpcsfixer2:~phplint:~phpmd:~phpmnd:~phpparser:~phpspec:~phpstan:~phpunit:~phpunitbridge:~phpversion:~progpilot:~psalm:~robo:~securitychecker:~shell:~twigcs:~xmllint:~yamllint:~testsuites:[]extensions:[]参数描述参数名称默认值commentbin_dir./vendor/bin方便查找phpcs等检测工具的外部命令。一般不需要修改git_dir。默认的git目录通常在根目录中。是否有太多用于加载代码检测的实际库?忽略以上内容。让我们一步步来看。下面是安装后自动生成的配置文件。参数:git_dir:.首先在github上创建一个库用于测试。https://github.com/CrazyCodes...默认配置不检测任何代码。我们在任务中添加新成员https://github.com/phpro/grum...重新设置配置文件骚操作参数:git_dir:。bin_dir:vendor/bintasks:{phpcs:~}新建一个文件easy.php,代码如下,多一个分号,老夫肯定不会放过你的。echo'召唤愤怒的老人';;老头就是姜子说的,呃,他其实是一个红色的GrumPHP检测到一个预提交命令。GrumPHP正在嗅探你的代码!运行任务1/1:Phpcs...?▄▄↓↓▌?↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓?↓↓↓▌▄███↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓▌?↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓??????????????██████████████▄▄████████████████████████??????▄▄?????█████??████?██?██████▌████▌███▌██▌▄▄▄▄?██████▄▄▄▄▄▄▄▄▄▄▄▄?█████▄?████████████████████████████?███████████???█████████████████████▄███████▄███████████?█████████████████████████████████████████████████████████████████████████████████?██??████████████████████▌??████?████████??███?█▌?███████▌██???███████████████████████████████████??????█???????█???????█??????██??█▌??█???██???█??██???█???██??██???█▌??█??██???█??██???█???██??██???█▌??█???██???█??????▄█??▄▄▄▄▄██???█▌??█???██???█????████???????██???█???█▄?????▄█????████▄?????▄███████████████████████████████████文件:/Users/crazy/http/app/yield_test/easy.php--------------------------------------------------------------------发现1个错误影响1行----------------------------------------------------------------2|错误|缺少文件文档注释------------------------------------------------------------------时间:37ms;内存:4MB不只是只有愤怒的老头,GrumPHP还提示了其他一些内容FILE检测文件路径FOUND1ERRORAFFECTING1LINE有几个错误,其中line2|错误|Missingfiledoccomment报错是什么问题这个检测说明我没有写评论。是不是很有趣?GrumPHP不仅限于此能力,如果您想深入挖掘,请自行挖掘。参数表https://github.com/phpro/grum...质检包https://github.com/phpro/grum...还有人问,你为什么这么折磨自己?其实,GrumPHP代码质量工具可不是你自己玩的。在开发人员多一点的技术团队中,可以用它来实现代码的一致性。如果每个人的代码都不一样,后果不堪设想。感谢您阅读到这里,希望本文能对您有所帮助。
