静态函数/类...推理?

时间:2010-01-19 21:31:39

标签: php static

  

可能重复:
  When should I use static methods in a class and what are the benefits?

我现在正在使用PHP。

我正在研究两组函数。

我有一个由日期处理函数组成的类。

在这个类中,我不需要属性,因为每个函数/方法或多或少都是一个实用程序。因此,我使我的班级功能全部静止。

我在这里有几个问题。

1)使用静态方法有什么好处?据我所知,由于没有Object,因此处理开销较低。我也听说这可以忽略不计(取决于)。

2)除了实用程序之外,还有哪些其他类型的函数/方法是“静态”的好选择?

由于

1 个答案:

答案 0 :(得分:5)

使用静态方法的关键概念是它们绑定到类,而不是类的实例。一个好的准则是**任何需要状态的东西都不适合静态使用*。

实用方法绝对是静态使用的理想选择,因为它们通常很短并且不需要状态。其他一些指导原则可能是:

  • 输入和输出不依赖于彼此之外的任何东西。
  • 该方法没有上下文,也就是说,将它与对象的实例关联是没有意义的。
  • 方法/变量不需要区分对象,只需要一个声明即可。这主要适用于静态类变量,例如在所有实例化对象之间共享的计数器。