WordPress有自己的代码格式标准,与PHP-FIG的PSR标准不一样。
这对于用了主流框架来说,会有些不适应。
不过我们可以用PHP_CodeSniffer来检测格式,写出“标准”的WordPress代码。
WordPress使用PHP_CodeSniffer需要本地安装了:
因为PHP_CodeSniffer默认没有WordPress代码规范,所以我们需要下载一个。
WordPress代码规范的Github仓库地址:https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards。
1、切换到CodeSniffer的Standards目录下,然后克隆仓库到wpcs目录:
git clone -b master https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards.git wpcs
2、打开PHPStorm,选择菜单Settings → Languages & Frameworks → PHP → Code Sniffer,然后从configuration下选择local。
再点击右边...的浏览按钮,然后配置phpcs文件的路径,保存(windows系统则选择phpcs.bat文件)。
3、以此选择 Settings → Editor → Inspections → PHP → PHP Code Sniffer validation,再下拉选择 WordPress 规范。
说明:
如果 Code standard 列表中没有WordPress,则下拉选择Custom,然后点...预览按钮。
在弹出框中选择第1步的...\Standards\wpcs下的WordPress目录,然后点Refresh刷新。
4、再回到编辑器,如果代码不符合规范,鼠标旁边就会有提示了。
5、如果要全面监测,选择菜单 Code → Inspect Code 就会列出检查的结果。
1、打开菜单 Settings → Tools → External Tools,点击 + 添加。
对话框配置如下:
2、这里我们创建3个配置。
一个用来修正单个文件;
一个用来修正当前目录下的所有php文件(包含子目录);
一个用来修正当前目录下的所有php文件(包含子目录)。
如下是另外两个配置:
3、然后是phpcbf的参数,完整文档请看:PHP CodeSniffer documentation page。
本例用到的参数:
和一些变量:
4、接下来还需要设置快捷键,菜单选择 Settings → Keymap,搜索“phpcbf”。
双击搜索结果,选择“Add keyboard shortcut”,然后输入键盘,例如“Ctrl + Alt + /”:
返回代码界面,按下快捷键,phpcbf 就会自动修正,结果如下。
windows系统会提示错误:
'diff' is not recognized as an internal or external command, operable program or batch file.
在 Parameters 栏中加上 --no-patch 就可以了。
参考资料: