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


PHP | Why should I use public static / private static function instead of public / private function?

我只是想知道使用public static functionprivate static function而不是简单的public functionprivate function有什么好处?

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

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

例如,在对象上调用一个实例方法:

$object = new MyClass();
$result = $object->myInstanceMethod();

类本身调用了一个静态方法:

$result = MyClass::myStaticMethod();