如何使用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 分享