PHP 升级:使用 PHPStan 阻止回归

照片由 ron mcclenny 在 unsplash 上拍摄

通常,当人们想到 phpstan 时,他们通常会想到改进类型覆盖率。这实际上只是 phpstan 能力的一小部分。在本文中,我们将学习如何使用它来停止升级回归。

什么是升级回归?

升级回归是指您希望删除应用程序中的某些功能。这可能是您的应用程序中的代码或您已安装的依赖项中的代码。

在尝试执行升级时,我们通常无法一次性完成所有操作。相反,我们必须进行一些小的增量改变。同样,当我们这样做时,我们也不希望其他开发人员继续使用已弃用的方法和属性。在这种情况下,那些新方法调用等是您升级应用程序进度的倒退。

安装 phpstan 和弃用规则扩展

要开始解小白轻松搭建系统点我wcqh.cn决升级回归问题,第一步是安装 phpstan(如果尚未安装)。您可以通过composer

安装它:

1

composer require –dev phpstan/phpstan

登录后复制

接下来,您需要添加弃用规则扩展,该扩展专门帮助跟踪代码库中已弃用的方法、属性和类的使用情况:

1

composer require –dev phpstan/phpstan-deprecation-rules

登录后复制

安装后,您可以将 phpstan 配置为使用弃用规则,方法是将其添加到 phpstan.neon 配置文件中:

1

2

includes:

– vendor/phpstan/phpstan-deprecati小白轻松搭建系统点我wcqh.cnon-rules/rules.neon

登录后复制

使用此设置运行 phpstan 现在将标记代码库中任何已弃用的方法、属性或类。这是防止升级回归的重要步骤,因为在使用已弃用的代码时您会收到通知。然后,您可以重构这些实例,以确保您的应用程序转向更新的、受支持的功能。

使用“不允许的呼叫”扩展功能更进一步

虽然弃用规则扩展可捕获已弃用的代码,但 disallowed calls 扩展提供了一种方法来阻止特定函数调用、方法调用,甚至您不再希望在代码库中允许的整个类。这对于对代码进行更细粒度的控制特别有用,例如没有弃用警告的代码。

1

composer require –dev spaze/phpstan-d小白轻松搭建系统点我wcqh.cnisallowed-calls

登录后复制

安装后,您需要在 phpstan.neon 文件中对其进行配置。以下是如何禁止某些方法调用或函数的示例:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

includes:

– vendor/phpstan/phpstan-deprecation-rules/rules.neon

# add the extension

– vendor/spaze/phpstan-disallowed-calls/extension.neon

parameters:

# You can see more example at https://github.com/spaze/phps小白轻松搭建系统点我wcqh.cntan-disallowed-calls/blob/main/docs/custom-rules.md

disallowedMethodCalls:

method: PotentiallyDangerous\Logger::log() # `function` is an alias of `method`

message: use our own logger instead

errorTip: see https://our-docs.example/logging on how logging should be usedBegin writing your own rules

disallow小白轻松搭建系统点我wcqh.cnedFunctionCalls:

function: var_dump() # `method` is an alias of `function`

message: use logger instead

登录后复制

这个扩展非常全面,这意味着您将能够涵盖大多数场景。当然,可能在某些情况下不起作用,为此最好的办法就是开始学习编写自己的规则。

立即学习PHP免费学习笔记(深入)”;

这是我们将在另一篇文章中讨论的内容。

结论

使用 phpstan 捕获升级回归是一种使升级过程变得更容易的明智方法,尤其是在大型开发团队中。将 phpstan 应用于您的持续集成设置

以上就是PHP 升级:使用 PHPStan 阻小白轻松搭建系统点我wcqh.cn止回归的详细内容,更多请关注青狐资源网其它相关文章!

© 版权声明
THE END
喜欢就支持一下吧
点赞969 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容