0

我试图用另一个变量的内容初始化一个静态变量,但它似乎失败了。

class Hey {
    static $user = "peter";
    static $home = '/home'.Hey::$user;

    // syntax error, unexpected T_VARIABLE, expecting T_STRING

为什么它会失败,有没有办法没有初始化函数或其他东西?

4

1 回答 1

3
class Hey {
    static $user = "peter";
    static $home;
}
Hey::$home =  '/home'.Hey::$user;

或者如果 $home 是私有的:

class Hey {
    static $user = "peter";
    private static $home;
    static function init(){self::$home = '/home'.self::$user;}
}
Hey::init();

请参阅如何初始化静态变量

于 2013-08-23T09:02:01.760 回答