1. PHP_CodeSniffer
curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar chmod a+x phpcs.phar mv phpcs.phar /usr/local/bin/phpcs curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar chmod a+x phpcbf.phar mv phpcbf.phar /usr/local/bin/phpcbf
该包的作用是用指定的代码规范(默认使用PEAR规范,可指定使用PSR1,PSR2或自己制定的规范)来检查代码是否符合规范。详细介绍和使用方法参见:PHP_CodeSniffer Manuel。该包使用pear来安装,OS X在10.4之前已默认安装pear,10.4之后需要自行安装,官方安装方法:Getting and installing the PEAR package manager。
2. PHP Mess Detector (phpmd)
主页:PHP Mess Detector
该包可以检查PHP代码存在的问题,包括:
- 潜在的BUG
- 有待改进的代码(比如过短变量名长度等)
- 过于复杂的表达式
- 定义但未使用的变量、方法、属性)
- 使用未定义的变量
wget -c http://static.phpmd.org/php/latest/phpmd.phar
chmod a+x phpmd.phar
mv phpmd.phar /usr/local/bin/phpmd
3. PHP Coding Standards Fixer(php-cs-fixer)
主页:PHP Coding Standards Fixer
该包可以修复PHP代码中的规范问题。装不装都行,因为phpcs自带了PHP Code Beautifier(phpcbf)也可以用来修复不规范的代码。
wget http://get.sensiolabs.org/php-cs-fixer.phar -O php-cs-fixer chmod a+x php-cs-fixer sudo mv php-cs-fixer /usr/local/bin/php-cs-fixer
sublime-phpcs 插件安装
Preferences -> Package Control -> Install Package -> 搜索Phpcs
配置插件
各个功能的phar包都装好后,可以开始配置sublime-phpcs插件了。
可用which命令先查看各个命令的路径
which php which phpcs which phpmd which php-cs-fixer which phpcbf
然后编辑Preferences -> Package Setting -> PHP Code Sniffer -> Setting – User对插件进行配置
{ "phpcs_php_path": "/usr/bin/php", "phpcs_executable_path": "/usr/local/bin/phpcs", "phpmd_executable_path": "/usr/local/bin/phpmd", "phpcbf_executable_path": "/usr/local/bin/phpcbf", "php_cs_fixer_executable_path": "/usr/local/bin/php-cs-fixer", // 开启phpmd "phpmd_run": true }
使用
1. 使用sublime-phpcs
配置完成后,就可以使用sublime-phpcs对代码进行检查和格式化了。sublime-phpcs默认在保存时执行检查。每次保存文件时就会检查代码是否正常,如果代码有不规范的地方或者错误,会在sublime上部的命令行提示,比如:
phpcs会把出现问题的行数和描述都展示出来,可根据提示自行修改,或点击右键,按下图选项对格式问题进行自动修复(phpmd检测出的代码问题等需要手动修复)
另外,可以设置在保存时就格式化代码:
"phpcbf_on_save": true
2. 批量检测/格式化代码
有时候会对拿到的整个项目的规范进行检测和格式化,可以直接使用功能包命令:
// 检查规范 phpcs --standard=PSR2 /path/to/code/directory // 检查问题: phpmd 代码路径 报告格式 规则列表 phpmd /path/to/code/directory text codesize,unusedcode,naming // 格式化代码 phpcbf --standard=PSR2 /path/to/code/directory
转载请注明:cooljun小窝 » sublime phpcs代码检查配置