PHP(IntelliJ/PHPStorm 检查):“方法应该是最终的”

问题描述 投票:0回答:1

自从一个月或类似的时间以来,IntelliJ/PHPStorm 检查“方法应该是最终的”几乎在所有函数上都会显示为警告。我知道我可以禁用某些检查,我只是想知道他们为什么要引入它?

PHP中final方法的定义:

如果一个方法以final为前缀,则该方法被认为是最终方法 关键词。最终方法是不能被重写的方法。 因此,这些方法不能在子类/子类中被重写。

那么为什么我应该通过任何方法积极预防这种情况呢?如果您在创建子类时必须删除关键字,则意味着需要做更多的工作。如果一个方法不被重写是至关重要的,那么你当然可以添加final关键字,但是有什么充分的理由对所有方法都这样做吗?

php security inheritance phpstorm final
1个回答
0
投票

方法声明中的 Final 有助于理解该方法不会在任何地方被重写。

在最新的 PHP 版本中,核心团队为我们提供了许多使代码更加严格和清晰的能力。

是的,您可以查看方法是否在 IntelliJ / PHPStorm 中被覆盖,但是如果您在 Web 浏览器或终端中看到代码,则无法识别。

对于进行代码审查也很有帮助。如果审阅者看到 Final 被删除 - 他们会注意,但如果 Final 未设置,他们只会看到新方法。

因此,我认为最好的做法是默认将您的应用程序类设为最终类,或者如果您只有一个重写方法,则将其他方法设为最终类。 抱歉我的英语不好。

© www.soinside.com 2019 - 2024. All rights reserved.