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
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
do your good at,challenge what do you want to do
如果你觉得这篇文章对你有帮助,请支持我继续更新网站 !捐赠本站
喜欢 (0)or分享 (0)