构造函数中的Php类和静态属性

时间:2013-10-29 14:51:30

标签: php class properties constructor static

是否可以在php?

中更改构造函数内的静态类属性的默认值
class Test { 
  public static $property = 'default';

  public function __construct() {
    self::$property = 'new value';
  }       
}

上面的代码没有这样做。 提前谢谢!

EDITS

我知道我可以改变课外的价值

Test::$property = 'new value';
echo Test::$property;

我想知道我是否可以在类构造函数中完成它。

3 个答案:

答案 0 :(得分:0)

你忘了一个双点:

self::$property = 'new value';

答案 1 :(得分:0)

这对我有用。

class Test { 
  public static $property = 'default';
  public function __construct() {
     echo self::$property = 'new value'; // for EXample echo val of property
  }       
}
//When create a new object of class it shows / Assigns value of static property

$test = new Test();
echo Test::$property;

答案 2 :(得分:0)

使用PHP 5.3,您可以使用后期静态绑定。

在代码中将“self”替换为“static”:

class Test { 
  public static $property = 'default';

  public function __construct() {
    static::$property = 'new value';
  }       
}

它会起作用;)