$ composer require --dev squizlabs/php_codesniffer$ ./vendor/bin/phpcs --standard=PSR12 app/ tests/FILE: app/Console/Kernel.php-------------------------------------------------------------------------------FOUND 2 ERRORS AFFECTING 1 LINE------------------------------------------------------------------------------- 28 | ERROR | [x] Expected at least 1 space before "."; 0 found 28 | ERROR | [x] Expected at least 1 space after "."; 0 found-------------------------------------------------------------------------------FILE: tests/Unit/ExampleTest.php-------------------------------------------------------------------------------FOUND 1 ERROR AFFECTING 1 LINE------------------------------------------------------------------------------- 14 | ERROR | Method name "ExampleTest::test_that_true_is_true" is not in | | camel caps format-------------------------------------------------------------------------------
在极狐 GitLab 持续集成中实行逼迫扫描:
$ vi .gitlab-ci.ymlphpcs: script: - ./vendor/bin/phpcs --standard=PSR12 app/ tests/
当扫描工具报错,持续集成退出,想看代码规范问题,须要到 log 中查找,降落了开拓效率,很多持续集成产品只做到了这一步,而极狐 GitLab 可以更进一步——采集「代码质量报告」。

在项目中引入 micheh/phpcs-gitlab,它会将 phpcs 报告转换成极狐 GitLab 标准格式,在 CI 中进行采集。
$ composer require --dev micheh/phpcs-gitlab$ vi .gitlab-ci.ymlphpcs: script: vendor/bin/phpcs --report=full --report-\\Micheh\\PhpCodeSniffer\\Report\\Gitlab=gl-code-quality-report.json --standard=PSR12 app/ tests/ artifacts: reports: codequality: gl-code-quality-report.json
可以看到在开拓职员频繁利用的「合并要求」页面,直接显示了「代码规范问题」,供开拓职员自助修复以及提醒评审的同事把稳,提高了研发效率。
老项目第一次配置代码规范可能会涌现很多缺点,没紧要,先将规范合并进入主干,下次修正代码发起合并要求时,极狐 GitLab 将展示「增量代码质量报告」,而无需任何繁芜设置,如上图所示:代码质量在某几个位置低落了,而不是一共有多少问题。
关注【极狐GitLab】获取更多 DevOps 行业最佳实践。