当前位置: 首页 > 后端技术 > PHP

CodeSniffer

时间:2023-03-30 05:14:41 PHP

Last-ModifiedforPHP代码修改:2019年5月10日13:59:27参考链接PHP开发规范使用phpcbf脚本自动修正代码格式使用PhpStorm中的PSR2编码规范phpcbf脚本自动修正代码格式使用对于PHP-CS-Fixer,可以看这篇文章:https://learnku.com/laravel/t...介绍PHP_CodeSniffer是一个代码风格检测工具。它包含两类脚本,phpcs和phpcbf(GitHub地址)。phpcsphpcs脚本定义了一系列PHP、JavaScript、CSS文件的代码规范(通常使用官方的代码规范标准,比如PHP的PSR2),可以检测不符合规范的代码。规范代码并发出警告或错误(错误级别可设置)。phpcbfphpcbf脚本可以自动修正代码格式中的不规范之处。例如,在PSR2规范中,要求每个PHP文件的末尾都有一个空行,那么运行这个脚本后,就可以自动在末尾添加一个空行。php-cs-fixer这个工具没有包含在PHP_CodeSniffer中,它在另一个独立的项目https://github.com/FriendsOfP...php-cs-fixer在修复不规则代码方面相当于phpcbf,但规则似乎略有不同有区别。installcomposerglobalrequire"squizlabs/php_codesniffer=*"安装后会在全局Vendor目录下的bin中生成两个软链接:phpcbf->../squizlabs/php_codesniffer/bin/phpcbfphpcs->../squizlabs/php_codesniffer/bin/phpcs查看全局Vendor目录的位置:composerglobalconfigbin-dir--absolute使用命令行方式将phpcs和phpcbf的目录添加到环境变量中设置默认代码标准以避免手动指定每次的标准,直接设置默认代码标准为PSR-2phpcs--config-setdefault_standardPSR2phpcbf--config-setdefault_standardPSR2检测代码文件phpcstest.php此时命令行会提示问题列表找到了,带[x]的可以根据需要用phpcbf修正每次执行时指定代码格式标准,然后加上--standard=phpcs--standard=PSR2test.php修正代码phpcbftest.php位于这次,问题列表中带有[x]的问题将得到更正。PHPStorm会让编辑器使用PSR-2标准1.打开PhpStorm设置页面(File->Setting),进入Editor->CodeStyle->PHP页面,在PHP中选择样式为PSR1/22,然后进入到CodeSniffer页面,路径为Setting->LanguagesandFrameworks->PHP->QualityTools->CodeSniffer,设置phpcsComposer全局供应商目录\bin\phpcs.bat3的路径,为InspeActions页面,路径Setting->Editor->Inspections,右侧的PHP,勾选下面两个PHP,选择使用PSR2,现在使用PhpStorm格式化,经过以上操作后会自动格式化成psr-2风格,规则PhpStorm的代码格式和phpcs基本一致,但也有少量不一致的地方,所以后面会用到phpcs和phpcbf。每次都在终端执行会耗费很多时间。为了提高工作效率,可以在PhpStorm中集成phpcbf、phpcs检测规范功能设置路径:Tools->ExternalToolsintegratedphpcbfProgram是你PHP根目录下的一个文件,windows是一个.bat文件参数是--standard=PSR2$FileDir$/$FileName$,记得指定代码标准Workingdirectory为$ProjectFileDir$,也可以直接填写下面的Openconsolefortooloutput,也就是将检测到的信息打印到控制台。我们需要勾选phpcs检测,没有用到phpcbf,所以不用勾选。用它?工具栏中的Tools->ExternalTools,可以看到我们刚刚添加的两个小工具,直接点击即可使用。点击操作很麻烦,所以添加一个快捷键:在phpcbf中的Settings->Keymap->ExternalTools->Addshortcutkeys