2011-04-28 26 views
0

這是想我能夠做到:結合靜態無功與家長的

class Test { 
    public static $test = 'boo'; 
} 

class Two extends Test { 
    public static $test = parent::$test.'hoo'; 
} 

// Two::$test == 'boohoo' 

好,特別是結合2個陣列,但是這說明了它。

可能嗎?

回答

2

這是不可能的,因爲您在聲明變量時無法評估任何內容。

喜歡的東西:

class A { 
    $seconds_in_a_day = 60*60*24; // invalid 
    $seconds_in_a_day2 = 86400; // sour but valid 
} 

是無效的甚至是。

您可以將其移動到構造函數。

public function __construct() { 
    self::$test = parent::$test.'hoo'; 
} 

除了所有的..只是不這樣做。保存你的未來自己很多工作,並找到另一個更直觀的解決方案:P

+0

謝謝,我真的希望有一些奇蹟般的解決方法:) 在我的具體情況下,這個值在施工前被調用,或者我不會問這個問題。 – kbanman 2011-04-28 05:23:31

+0

那麼,構造函數實際上只是一個榮耀的初始化器,所以編寫一個初始化器。 – Halcyon 2011-05-30 21:44:56