PHP 編碼標準修復器(PHP CS Fixer)工具修復您的程式碼以遵循標準;無論您想要遵循 PSR-1、PSR-2 等中定義的 PHP 編碼標準,還是其他社群驅動的標準(例如 Symfony 標準)。您也可以透過配置來定義您(團隊)的風格。
它可以使您的程式碼現代化(例如將pow
函數轉換為 PHP 5.6 上的**
運算子)並對其進行(微觀)最佳化。
如果您已經在使用 linter 來識別程式碼中的編碼標準問題,您就會知道手動修復它們是乏味的,尤其是在大型專案中。該工具不僅可以檢測它們,還可以為您修復它們。
注意每個新的 PHP 版本都需要付出巨大的努力來支援新語法。這就是為什麼最新的 PHP 版本可能不受支援的原因。如果您需要,請考慮以任何方便的方式支援該項目,例如貢獻程式碼或審查現有 PR。要在尚未支援的版本上執行 PHP CS Fixer,「風險由您自行承擔」 - 利用 PHP_CS_FIXER_IGNORE_ENV。
安裝 PHP CS Fixer 的建議方法是在專案中的專用composer.json
檔案中使用 Composer,例如在tools/php-cs-fixer
目錄中:
mkdir -p tools/php-cs-fixer
composer require --working-dir=tools/php-cs-fixer friendsofphp/php-cs-fixer
或使用主composer.json
:
composer require --dev friendsofphp/php-cs-fixer
有關更多詳細資訊和其他安裝方法,請參閱安裝說明。
您可以使用預先建置的 Docker 映像來執行php-cs-fixer
。
docker run -it --rm -v $(pwd):/code ghcr.io/php-cs-fixer/php-cs-fixer:${FIXER_VERSION:-3-php8.3} fix src
上述範例中使用的$FIXER_VERSION
是您要使用的版本的標識符,它是基於 Fixer 和 PHP 版本的組合。每個 Fixer 的 SemVer 等級和 PHP 版本都有不同的標籤,語法為<php-cs-fixer-version>-php<php-version>
。例如:
3.57.0-php7.4
3.57-php8.0
3-php8.3
假設您按照上面的說明安裝了 PHP CS Fixer,您可以執行以下命令來修復src
目錄中的 PHP 檔案:
tools/php-cs-fixer/vendor/bin/php-cs-fixer fix src
有關更多詳細信息,請參閱用法、內建規則列表、規則集列表和設定檔文件。
如果您需要套用該工具不支援的程式碼樣式,您可以建立自訂規則。
專用插件用於:
PHP CS Fixer 在 GitHub 維護:https://github.com/PHP-CS-Fixer/PHP-CS-Fixer。歡迎錯誤回報和有關新功能的想法。
您可以在 GitHub 討論中聯絡我們,以了解專案、配置、可能的改進、想法和問題。請訪問我們那裡!
該工具附帶了相當多的內建修復程序,但非常歡迎每個人貢獻更多修復程序。