在声明私有变量时,我总是使用private $MyVar = false;
,只有那个特定的类才能使用。但最近我看到一些人们使用private static $MyVar = false;
的例子。
我不明白,有什么区别?它们都只能在该类中使用,所以添加static
?
答案 0 :(得分:0)
比较
名为x
的私有实例变量:
class Foo {
private $x = 0;
public function Foo() {
echo ++$this->x . ',';
}
}
new Foo();
new Foo();
输出为1,1,
。
名为x
的私有静态变量:
class Bar {
private static $x = 0;
public function Bar() {
echo ++self::$x . ',';
}
}
new Bar();
new Bar();
输出为1,2,
。