在其他语言中,PHP等价于静态变量是什么?

fen*_*ent 7 php final

我想知道PHP是否在类中具有类型的变量,其功能类似于其他语言中的静态.我的意思是,同一个类的所有对象都使用相同的变量,当它更新时,每个对象都会更新.静态是接近的,因为它在所有对象中共享,但我需要能够更新它.我是否必须使用全局变量?

tho*_*ter 6

正确的答案是PHP中没有与final相当的东西,但静态看起来就像你想要的那样.

static具有在类的所有实例中具有相同值的属性,因为它不依赖于特定实例.

您将需要使用::运算符来访问它,因为它是静态的,您不能使用- >.


Bre*_*ker 4

我认为静态就是你想要的。您可以更新静态变量,只需在“静态上下文”中执行此操作(即使用 :: 运算符。

class Class1 {
    protected static $_count = 0;

    public function incrementCount() {
        return self::$_count++;
    }
}

$instance1 = new Class1();
$instance2 = new Class1();
var_dump($instance1->incrementCount(), $instance2->incrementCount());
Run Code Online (Sandbox Code Playgroud)

将输出:

整数0

整数1