可能有的同学没有听说过这个东西,我简单介绍一下:PHP_CodeSniffer是一款代码风格检测工具。它包含两类脚本,phpcs和phpcbf(GitHub地址)。phpcs脚本为PHP、JavaScript、CSS文件定义了一系列的代码规范(通常使用官方的代码规范标准,比如PHP的PSR2),可以检测不符合代码规范的代码,并发出警告或错误(可以设置错误级别)。phpcbf脚本可以自动修正代码格式不规范的部分。例如,在PSR2规范中,要求每个PHP文件的末尾都有一个空行,那么运行这个脚本后,就可以自动在末尾添加一个空行。建议安装composer:composerglobalrequire"squizlabs/php_codesniffer=*"安装后会在全局Vendor目录下的bin中生成两个软链接:phpcbf->../squizlabs/php_codesniffer/bin/phpcbfphpcs->../squizlabs/php_codesniffer/bin/phpcs如果你不知道全局Vendor目录在哪,用这个命令:composerglobalconfigbin-dir--absolute命令行到这一步,其实你可以愉快的使用这两个commands:哦,不过如果你想全局使用这两个命令,那就做个软链接,放到/usr/local/bin下~$phpcstest.phpFILE:/Users/stephen/Develop/Code/test.php-------------------------------------------------------------------------------------------发现2个错误影响2行----------------------------------------------------------------------------------------2|错误|[]缺少文件文档注释3|错误|[x]TRUE、FALSE和NULL必须小写;预期为“假”但发现“假”-----------------------------------------------------------------------------------------PHPBF可以自动修复1个标记的嗅探违规行为--------------------------------------------------------------------------------------------时间:45ms;内存:4Mb$phpcbftest.phpPHPCBF结果摘要-------------------------------------------------------------------文件固定剩余----------------------------------------------------------------------/Users/stephen/Develop/Code/test.php11--------------------------------------------------------------------1个文件中总共修复了1个错误-------------------------------------------------------------------时间:49ms;内存:4MbSublimeText中的集成安装插件需要安装PackageControl。这个你就没事了(莫名的自信,逃)安装phpcs插件,然后打开设置-用户和设置-这个插件的默认值,将后者的内容全部复制到前者配置插件配置如下配置项:php在当前环境下的执行路径"phpcs_php_prefix_path":"/usr/bin/php",phpcs在当前环境下的执行路径"phpcs_executable_path":"~/.composer/vendor/bin/phpcs",执行脚本时添加的附加参数,一般以PSR2代码规范为准,也可以选择PSR1、PEAR等。"phpcs_additional_args":{"--standard":"PSR2","-n":""},当前环境下phpcbf的执行路径"phpcbf_executable_path":"/Users/stephen/.composer/vendor/bin/phpcbf",保存时会执行cbf脚本函数已启用"phpcbf_on_save":true,可以愉快的玩了是的,编辑.php后缀的文件并保存后,会自动回复并修正代码中的不规范之处。这个插件还有其他地方可以设置代码规范,比如PHPMessDetector设置,PHPLinter设置,PHPScheck设置。下次再研究其他几个,目前够我用了,逃)PhpStrom在Settings->Languages&Frameworks->PHP->CodeSniffer中集成配置CodeSniffer来配置phpcs点击Configuration旁边的...:local配置当前环境下phpcs执行脚本所在路径。旁边有个Validate按钮用来验证,其他两个默认参数就好了,这里稍微说一下。Maximumnumberofmessagesperfile[1...100]:每个文件最多显示不符合代码规范的消息数。通常,如果有50条消息,您需要做很多工作。其实10条消息就够了,尤其是像我这种代码洁癖后期强迫症的人1条就够了。..Toolprocesstimeout,sec[1...30]:脚本执行启用验证的超时时间。在设置->编辑器->检查中启用它。找到PHP->PHPCodeSniffer验证选项,勾选,在右侧详细说明配置,我开启了Options->Showwarningsas:Error。当然你也可以选择Warning。更高的提示级别可以强迫自己。没什么不好的~Codingstandard还是选择PSR2,如果找不到这个选项记得点旁边的刷新按钮。自动修复找了半天没发现PhpStrom有支持phpcbf的选项,只能通过ExternalTools实现。在Settings->Tools->ExternalTools中添加,下面是我的例子,基本可以照抄:)ParameterValueNamephpcbfDescriptionAutomaticallycorrectcodingstandardviolationsProgramphpcbfParameters--standard=PSR2"$FileDir$/$FileName$"nowcan在菜单栏的FinditinTools->ExternalTools中找到并愉快地使用它。梁兄,这很不方便。..然后添加快捷键。..在Settings->Keymap->ExternalTools->phpcbf中添加快捷键,我设置的是Option+F,或者Windows上是Alt+F。honey扩展之前没有使用phpcbf,使用php-cs-fixer进行代码自动修复,后来发现两者的功能差不多,所以基于原理放弃了php-cs-fixer少一包。有兴趣的可以扩展了解~
