如何使用Composer解決PHP項目中的代碼質量問題?thecodingmachine/phpstan-strict-rules助你提升代碼規范

可以通過以下地址學習 composer學習地址

在開發 php 項目時,確保代碼質量和遵循最佳實踐是至關重要的。然而,如何有效地在項目中實施嚴格的代碼規范,常常是一個挑戰。最近,我在項目中遇到了代碼質量不統一的問題,導致團隊協作效率低下。經過一番探索,我找到了 thecodingmachine/phpstan-strict-rules 這個庫,它通過 composer 輕松集成,極大地提升了我們的代碼規范和質量。

thecodingmachine/phpstan-strict-rules 是一個基于 TheCodingMachine 最佳實踐的 PHPStan 擴展庫。它提供了一系列比 PHPStan 默認規則更為嚴格的規則,這些規則在 TheCodingMachine 內部使用,幫助團隊提高代碼質量。這些規則涵蓋了異常處理、超全局變量使用和條件語句等方面。

使用 Composer 安裝這個庫非常簡單,只需運行以下命令:

composer require --dev thecodingmachine/phpstan-strict-rules

如果你的項目中已經安裝了 phpstan/extension-installer,那么安裝過程就已經完成了。如果沒有,你需要手動在 PHPStan 配置文件中包含 phpstan-strict-rules.neon 文件:

立即學習PHP免費學習筆記(深入)”;

includes:     - vendor/thecodingmachine/phpstan-strict-rules/phpstan-strict-rules.neon

以下是該庫提供的一些關鍵規則:

  • 異常相關規則

    • 不要直接拋出 “Exception” 基類,而應拋出其子類
    • 不要使用空的 catch 語句。
    • 在 catch 塊中拋出異常時,應將捕獲的異常作為 “previous” 異常傳遞。
    • 如果捕獲的是 Throwable、Exception 或 RuntimeException,必須重新拋出異常。
  • 超全局變量相關規則

    • 禁止使用 $_GET、$_POST、$_FILES、$_COOKIE、$_SESSION、$_REQUEST 等超全局變量,應使用框架提供的請求/會話對象
    • 在根作用域(如 index.php 中初始化 PSR-7 請求對象)中仍然允許使用超全局變量。
  • 條件相關規則

    • switch 語句應始終檢查意外值,并實現默認情況(并拋出異常)。

此外,該庫還包含一些正在開發中的規則,如禁止使用公共屬性和全局變量。

通過使用 thecodingmachine/phpstan-strict-rules,我們的項目不僅提高了代碼質量,還增強了團隊的協作效率。嚴格的規則確保了所有開發人員都能遵循一致的代碼標準,從而減少了錯誤和維護成本。

總的來說,thecodingmachine/phpstan-strict-rules 通過 Composer 輕松集成,提供了強大且實用的規則集,極大地提升了我們 PHP 項目的代碼質量和開發效率。如果你也面臨代碼質量問題,不妨嘗試一下這個庫,相信它會給你帶來驚喜。

? 版權聲明
THE END
喜歡就支持一下吧
點贊14 分享