php静态函数

标签 php class static member

我有一个关于 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/

相关文章:

java - 前向引用错误?为什么不在从 m1 方法访问时?

c++ - 纯抽象类可以包含静态常量、静态方法或非虚拟析构函数吗?

php - Paypal PHP SDK 从沙盒上线

php - 为什么 mysql_connect 会破坏我的 .php?

python - 属性错误:类型对象 'Ned' 没有属性 'attack' ?

java - 从父类(super class)继承构造函数?

成功时 PHP 页面重定向,否则显示错误

php - 在哪里保存数据?

perl - 是否可以获得特定 Perl 类的所有有效方法?

Javac 不会提示未捕获异常(运行时异常)