2013-08-23 184 views
0

我试图用另一个静态变量初始化一个静态变量,它似乎失败。php初始化静态变量与其他静态变量

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

    // syntax error, unexpected T_VARIABLE, expecting T_STRING 

为什么它失败,并且有没有一种方法没有初始化函数或别的东西?

+1

家伙骗不了他?!这是不可能的,因为初始化必须是常量,他们不允许使用变量! – Christoph

回答

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(); 

看到How to initialize static variables