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

Rol*_*and 7 php

我只是想知道使用public static functionprivate static function代替简单public function或有private function什么优势?

Wil*_*den 22

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

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

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

$object = new MyClass();
$result = $object->myInstanceMethod();
Run Code Online (Sandbox Code Playgroud)

在类本身上调用静态方法:

$result = MyClass::myStaticMethod();
Run Code Online (Sandbox Code Playgroud)