我有一个关于 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静态函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/902909/