2012-04-16 52 views
1

組變量我試圖設置在我班上一些默認值,但不能使用gettext作爲變量值使用外部功能,而在

爲什麼這個代碼給我一個錯誤?

class Test 
{ 
    private $defaultoptions = array('HideOwnPosts' => false, 
            'HideClickedLinks' => false, 
            'AutoCommentLinks' => false, 
            'AutoCommentText' => gettext('exampletext'), 
            'AutoOpenCount' => 5); 
} 

我只需要在用戶語言的默認值dependend我使用gettext獻給國際化,所以我yould像用戶IST這裏。

http://codepad.org/PTlIelQ4

回答

7

不能啓動類成員與 '動態' 的結果(gettext())。只允許靜態值。如果您需要使用函數的結果初始化成員,那麼您必須在構造函數中執行,而不是在類定義中執行。

2

試試這個:

<?php 
class Test 
{ 
    private $defaultoptions = array('HideOwnPosts' => false, 
            'HideClickedLinks' => false, 
            'AutoCommentLinks' => false, 
            'AutoCommentText' => false, 
            'AutoOpenCount' => 5); 
    public function __construct() { 
     $this->defaultoptions['AutoCommentText'] = gettext('exampletext'); 
    } 
}