最近做了一些代码评论,我遇到了许多具有大量静态方法的类......我似乎无法理解为什么?因此我的问题是:
在PHP中使用静态方法的最佳实践是什么?
什么时候想要使用它们什么时候不应该使用它们?
运行时处理静态方法的具体区别是什么?它们会影响性能还是内存占用?
Imr*_*ran 23
最近我做了一些代码审查,我遇到了许多具有大量静态方法的类......我似乎无法理解为什么
PHP在5.3之前没有名称空间,因此所有函数/变量都在全局范围内,除非它们属于某个类.将它们作为静态成员放在一个类中是一种没有命名空间的解决方法(这可能就是为什么你在"重要"数字中看到它们的原因)
通常,它们用于在单个对象中没有多大用处的函数,但在类级别有一些用处(如其他答案中所述)
最佳做法是尽可能避免使用它们,因为它们会破坏可测试性和可维护性.精心制作的两篇精彩内容:
澄清:在这个问题上似乎存在很多误解.缺乏依赖注入是真正的问题.直接调用静态方法恰好是陷入陷阱的最常见方式之一.