前言:良好的程式碼規範可以提高程式碼可讀性,減少團隊溝通維護成本,所以本文嘗試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中設定一個快捷鍵,就可以使用了
使用效果如下圖
至此,PHPStorm中成功使用phpcs和php-cs-fixer進行程式碼格式化PSR-2