写在前面
在团队开发中,每个人的代码风格都不一样,为了日后方便更新和维护,必须考虑协作和编码规范。
本文就介绍如何在 PhpStorm 中配置 PSR2 代码规范检查和保存自动格式化修复,以及利用 Git Hook 对提交的代码进行检查。
正文
安装 PHP-CS
composer global require "squizlabs/php_codesniffer=*"
安装完成后会在全局依赖包目录生成 phpcbf 和 phpcs 文件
查看 composer 全局依赖包路径,下面会用到
composer global config bin-dir --absolute
配置 PhpStorm 使用 PSR-2 标准
1. 代码风格
2. 设置 PHP-CS 路径
3. 代码检查
如果没有下拉选项,可以点击旁边的刷新按钮
还有这个
配置到这里后,打开一个 PHP 文件,就会在不符合 PSR-2 的代码下边加一条波浪线
使用 Ctrl + Alt + L
将会自动格式化成 PSR-2 的风格
集成 PHP-CS
经过上面的操作,Phpstorm 代码格式化的规则基本与 PHP-CS 的规则基本一致了,但也有一小部分不一致,所以后面还要用到 phpcs 和 phpcbf
参数说明
Program:phpcs/phpcbf
路径
Arguments:
--standard=PSR2 $FileDir$/$FileName$ ## 当前文件
--standard=PSR2 $FileDir$ ## 当前文件夹
Working directory:$ProjectFileDir$
使用方法
配置保存自动格式化和修复
1. 为 phpcbf 添加快捷键
2. 录制宏
步骤:
Ctrl + Alt + L
Ctrl + Alt + Shift + P
(phpcbf 快捷键)Ctrl + S
- 按下编辑器右下角保存录制
3. 为宏配置快捷键
先删除默认的保存快捷键 Ctrl + S
,另外配置一个别的快捷键Ctrl + Alt + Shift + S
为宏配置快捷键
利用 Git Hook 对提交的代码进行检查
安装 GrumPHP
composer require --dev phpro/grumphp
安装完后会自动生成一个 grumphp.yml
请修改成:
parameters:
git_dir: .
bin_dir: vendor/bin
tasks:
phpcs:
standard: PSR2
ignore_patterns:
- ./database/*
- ./vendor/*
这样 git commit
的时候就会对提交的代码进行检查,只有符合 PSR-2 规范的代码才能通过。