我在PHP中声明了哪些静态方法/变量?

问题描述:

只需开始感受PHP中类和方法(面向对象编程)的真正用处。然而,我仍然缺乏理解和经验以正确的方式声明方法和变量。我在PHP中声明了哪些静态方法/变量?

我应该声明一个方法/变量静态VS声明它是非静态的什么情况下?我问自己回答这个问题有哪些问题?

+0

您是否完成了任何研究?一个好的开始是寻找类似_“什么时候应该在PHP中使用静态方法”_。首先命中是一个SO帖子:https://*.com/questions/33705976/when-should-i-use-static-methods –

+0

@MagnusEriksson我有!但是,从某种意义上说,我确实看到了不同之处,例如,您可以直接调用静态方法而不创建实例。但是,这只是为了保存一行代码? '$ myClass = new myClass(); $ myClass-> method();'vs只调用方法'myClass :: method()'' – OnklMaps

+0

不,不仅仅是这样。有很多不同,就像我链接到的解释。 –

静态意味着您可以在不首先创建类的实例的情况下访问函数。这使它很像一个正常的功能。如果您想将相关的功能组合在一起,但您不需要运行类的特定实例,则您倾向于使功能处于静态。

非静态成员需要该类的一个实例。通常你会使用这个。

如果我们有一个Circle类并且它有函数区(),那么它将是非静态的,因为它需要一个特定的圆来查找区域。现在想象我们有一个带有printBold()函数的PrintText类。我们不需要实例,因为它只依赖于输入。但是,由于我们可以使用printBold(),printItalics()等,因此可以方便地使用PrintText类。