如何在其他私有静态字段的初始化时访问私有静态字段

时间:2013-11-09 22:39:23

标签: php

假设我有一个静态字段$b,它依赖于另一个先前定义的静态字段$a的值。当我这样做......

class Foo {
    private static $a = "Hello";
    private static $b = self::$a . " World"; // Error

    ...
}

...它给我一个语法错误。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

documentation解释了为什么这不起作用:

  

与任何其他PHP静态变量一样,静态属性只能使用文字或常量初始化;表达式是不允许的。因此,虽然您可以将静态属性初始化为整数或数组(例如),但您可能不会将其初始化为另一个变量,函数返回值或对象。