PHP |为什么我应该使用公共静态/私有静态函数而不是公共/私有函数?

PHP |为什么我应该使用公共静态/私有静态函数而不是公共/私有函数?,php,Php,我只是想知道使用公共静态函数或私有静态函数而不是简单地使用公共函数或私有函数有什么好处?在定义它们的类的实例上调用“普通”方法(通常称为实例方法)。该方法始终可以通过$this访问其对象,因此它可以处理该对象携带的数据(并确实修改它)。这是面向对象编程的一个核心方面,它使类不仅仅是一堆数据 另一方面,对静态方法的调用与特定对象无关。在这方面,它们的行为就像正则函数一样;实际上,唯一的区别是它们可能被标记为private,并且还可以访问自己类实例上的私有方法和变量。静态函数实际上只是过程编程的扩展

我只是想知道使用
公共静态函数
私有静态函数
而不是简单地使用
公共函数
私有函数
有什么好处?

在定义它们的类的实例上调用“普通”方法(通常称为实例方法)。该方法始终可以通过
$this
访问其对象,因此它可以处理该对象携带的数据(并确实修改它)。这是面向对象编程的一个核心方面,它使类不仅仅是一堆数据

另一方面,对静态方法的调用与特定对象无关。在这方面,它们的行为就像正则函数一样;实际上,唯一的区别是它们可能被标记为
private
,并且还可以访问自己类实例上的私有方法和变量。静态函数实际上只是过程编程的扩展

例如,对对象调用实例方法:

$object = new MyClass();
$result = $object->myInstanceMethod();
对类本身调用静态方法:

$result = MyClass::myStaticMethod();

这不是一个有利或不利的问题。还有,你搜索过这个网站吗?你不需要创建对象来使用静态方法。还有很多相关的问题!是的,我在PHP手册网站上读了一些,但我似乎不明白为什么要使用静态方法,我只知道,我可以这样做,而不是像这样调用公共函数
->
,以及我在php手册网站上读到的关于静态方法的一些其他信息…@Roland这个问题更多地与面向对象的范例本身有关,而不是与特定的语言有关。因此,一般来说,阅读静态方法的介绍可能会更好。尽管这已经结束,但这是我在谷歌搜索时发现的第一件事,我想回答我的问题:PHP中静态类函数和非静态类函数的区别是什么。谢谢@meze