2. phpstorm 搭配 PHP-CS-Fixer,格式化代碼為 laravel 風(fēng)格

PHP-CS-Fixer


PHP-CS-Fixer 是一個編碼風(fēng)格修復(fù)工具。全稱 PHP Coding Standards Fixer。

它可以修復(fù)你的代碼,以遵循 PSR-1、PSR-2 標(biāo)準(zhǔn)。

它可以修復(fù)你的代碼,以遵循其他由社區(qū)驅(qū)動的標(biāo)準(zhǔn)(例如Laravel、Symfony)。

官方文檔:https://cs.symfony.com

github:https://github.com/FriendsOfPHP/PHP-CS-Fixer

laravel 代碼風(fēng)格


可能大家在看 laravel 源碼的時候,也曾經(jīng)和我有一樣的疑惑: 為什么邏輯非運算符(!)后面總是跟著一個空格? 為什么最后一個 return 語句前面總是有一個換行?

其實這些都屬于 laravel 作者個人的編碼習(xí)慣。

如果你也想讓自己的代碼風(fēng)格,和 laravel 框架一致,不妨試試 PHP-CS-Fixer。


image.png

具體操作步驟


1. 安裝 composer (直接在系統(tǒng)上安裝,非虛擬機。)

已經(jīng)安裝好 composer 就忽略這一步

$ curl -sS https://getcomposer.org/installer | php
$ mv composer.phar /usr/local/bin/composer

參考文檔:https://docs.phpcomposer.com/00-intro.html#Installation-*nix

2. 通過 composer 去安裝 PHP-CS-Fixer
$ composer global require friendsofphp/php-cs-fixer

參考文檔:https://github.com/FriendsOfPHP/PHP-CS-Fixer

3. 把 PHP-CS-Fixer 添加到系統(tǒng)環(huán)境變量

這個步驟不作贅述,大家根據(jù)自己的操作系統(tǒng) (MacOS / Windows) 來

4. 把 PHP-CS-Fixer 添加到 phpstorm

打開 php 設(shè)置,選擇 External Tools,點擊 + 號,添加一個 External Tool

  • Name
取一個名字,隨意取就OK
  • Program
1. MacOS 系統(tǒng)使用 which php-cs-fixer 命令查看,然后復(fù)制過來
$ which php-cs-fixer
/Users/digua/.composer/vendor/bin/php-cs-fixer

2. Windows 系統(tǒng)使用 where.exe 命令查看,然后復(fù)制過來
$ where.exe php-cs-fixer
$ C:\Users\user\AppData\Roaming\Composer\vendor\bin\php-cs-fixer
  • Parameters
把這個值粘貼進去 (也可以使用后面的 Insert marco 按鈕手動設(shè)置 )
fix -v "$FileDir$/$FileName$"
  • Working Directory:
把這個值粘貼進去 (也可以使用后面的 Insert marco 按鈕手動設(shè)置 )
$ProjectFileDir$
image.png
5. 給 PHP-CS-Fixer 設(shè)置一個快捷鍵,方便使用
image.png
6. 恭喜。在任意一個 php 文件里面,摁下剛剛設(shè)置的快捷鍵,你的代碼就變成 laravel 風(fēng)格了。
7. 寫在最后

之所以摁下快捷鍵,代碼就變成 laravel 風(fēng)格,是因為:

摁下快捷鍵,phpstorm 在項目根目錄執(zhí)行了命令
$ php-cs-fixer fix -v "$FileDir$/$FileName$" 
這個命令讀取了項目根目錄的 .php_cs.dist 文件
而 .php_cs.dist 文件里面配置好了 laravel 代碼風(fēng)格
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容