我对php中的静态功能有疑问。
假设我有一堂课
class test { public function sayHi() { echo 'hi'; } }
如果我这样做的test::sayHi();话,没有问题。
test::sayHi();
class test { public static function sayHi() { echo 'hi'; } }
test::sayHi(); 也可以。
头等舱和二等舱有什么区别?
静态函数有什么特别之处?
在第一个类中,sayHi()实际上是一个实例方法,您将其作为静态方法进行调用,但由于sayHi()从未引用,所以您将其取消$this。
sayHi()
$this
静态函数与该类相关联,而不是该类的实例。因此,$this在静态上下文中不可用($this未指向任何对象)。