php - 静态方法 : are they still bad considering PHP 5. 3 后期静态绑定(bind)?

标签 php oop design-patterns dependency-injection singleton

如果您搜索静态方法不好的原因,您首先会发现是因为在单元测试时无法覆盖它。

考虑到在 PHP 5.3 中你可以通过引入 static:: 做任何你想做的事情,这仍然是正确的吗?

添加:

http://sebastian-bergmann.de/archives/883-Stubbing-and-Mocking-Static-Methods.html

请注意,他甚至解释了如何在没有任何测试问题的情况下使用单例:

最佳答案

如果你有一个静态成员函数,它通常可以是一个自由函数。通常的 react 是,编码人员选择静态成员函数只是因为“一切都必须在一个对象中”的神话。

这就是人们劝阻他们的原因。

而且,因为这不是一个非常有说服力的论点,那些人转而指出单元测试。不确定他们现在会做什么。

关于php - 静态方法 : are they still bad considering PHP 5. 3 后期静态绑定(bind)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6035822/

相关文章:

php - 浏览器自动解码 url,这是标准吗?

php - 将 WooCommerce 订单保存到远程数据库

Python:自动调用所有继承的类

oop - 游戏架构: Class leaking into almost all files

php - 这就是工厂模式的工作原理吗?

linux - bash 中过去 24 小时的 Grep 时间戳

PHP - 循环遍历表中的所有记录

php - 显示网站上谷歌分析的访问者数量

c# - 具有不同返回类型的方法重载

design-patterns - 在 Mathematica 中,如何找到包含规则和列表的模式?