我想知道PHP是否在类中具有类型的变量,其功能类似于其他语言中的静态.我的意思是,同一个类的所有对象都使用相同的变量,当它更新时,每个对象都会更新.静态是接近的,因为它在所有对象中共享,但我需要能够更新它.我是否必须使用全局变量?
正确的答案是PHP中没有与final相当的东西,但静态看起来就像你想要的那样.
static具有在类的所有实例中具有相同值的属性,因为它不依赖于特定实例.
您将需要使用::运算符来访问它,因为它是静态的,您不能使用- >.
我认为静态就是你想要的。您可以更新静态变量,只需在“静态上下文”中执行此操作(即使用 :: 运算符。
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