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