前言:良好的代码规范可以提高代码可读性,减少团队沟通维护成本,所以本文尝试PSR-2代码规范进行代码格式化。
正文:
(1)使用环境:
IDE:phpstorm2017.3.6
插件:phpcs和php-cs-fixer
(2)安装phpcs
composer global require 'squizlabs/php_codesniffer=*'
(3)安装php-cs-fixer
composer require friendsofphp/php-cs-fixer
注意:如果按照网上旧的教程,上面的命令会变成
composer global require fabpot/php-cs-fixer
fabpot/php-cs-fixer 这个包在Packagist上已经被Abandon了,可以使用,但是在使用过程中会报Warning,并且提示让你使用friendsofphp/php-cs-fixer,所以看到这篇文章的同志们可以直接安装friendsofphp/php-cs-fixer
如果已经安装了fabpot/php-cs-fixer,有强迫症想改成friendsofphp/php-cs-fixer,可以使用如下命令去掉composer依赖
composer remove fabpot/php-cs-fixer
(4)设置PHPStorm--phpcs
PhpStorm设置
● 步骤1:打开PhpStorm点击 File->Settings
● 步骤2:接着点击Languages & Frameworks->PHP->Code Sniffer点击Configuration右侧的按钮,
● 步骤3:选择PHP Code Sniffer (phpcs) path:的路径,就是刚才composer之后生成的那个phpcs.bat的路径。
● 步骤4:选择之后点击Validate验证成功
● 步骤5:节点点击Editor->Inspections展开点击右侧的PHP
● 步骤6:勾选PHP Code Sniffer Validation 选择右侧的PSR2
● 步骤7:点击验证成功 大功告成!!
效果:
(5)设置PHPStorm--php-cs-fixer
name和description可自行填写
program需要填写php-cs-fixer的可执行文件地址,Windows上是用户目录\Roaming\Composer\composer\vendor\bin\php-cs-fixer.bat,linux和mac上是~/.composer/vendor/bin/php-cs-fixer
Arguments/parameters填--rules=@Symfony --verbose fix "$FileDir$/$FileName$",其中rules字段具体可以查看 php-cs-fixer 的官方文档,但是由于 Windows 的 cmd 有诸多限制,所以只能传入一些简单的规则,如果需要配置复杂规则建议使用配置文件来完成。
working directory填$ProjectFileDir$
插件配置好以后,到Keymap中设置一个快捷键,就可以使用了
使用效果如下图
由于我开启了Xdebug,这边会有Warning,意思是会影响效率,可以忽略,至此,PHPStorm中成功使用phpcs和php-cs-fixer进行代码格式化PSR-2
本文参考了:
1.PHPStorm中使用php-cs-fixer进行自动代码格式化
4.Package fabpot/php-cs-fixer is abandoned message in Magento 2