私人与私人静态

时间:2014-08-24 13:48:07

标签: php

在声明私有变量时,我总是使用private $MyVar = false;,只有那个特定的类才能使用。但最近我看到一些人们使用private static $MyVar = false;的例子。

我不明白,有什么区别?它们都只能在该类中使用,所以添加static

的重点是什么

1 个答案:

答案 0 :(得分:0)

比较

  1. 名为x的私有实例变量:

    class Foo {
        private $x = 0;
        public function Foo() {
            echo ++$this->x . ',';
        }
    }
    
    new Foo();
    new Foo();
    

    输出为1,1,

  2. 名为x的私有静态变量:

    class Bar {
        private static $x = 0;
        public function Bar() {
            echo ++self::$x . ',';
        }
    }
    
    new Bar();
    new Bar();
    

    输出为1,2,