2013-08-24 103 views
3

我需要用值定義常量。 我試圖讓這樣的事情:用變量定義類常量

class Foo { 
const ARTICLES_KEY = $this->config->models->key->category; 
} 

但是PHP說:syntax error, unexpected T_VARIABLE

我還試圖用靜態無功,但它不工作。

如何正確製作這樣的東西?

回答

3

您不能:http://www.php.net/manual/en/language.oop5.constants.php讀取

它可以在每個階級基礎 保持不變的,不可改變的定義常量。常量與正常的 變量不同,因爲您不使用$符號來聲明或使用它們。

該值必須是常數表達式,而不是(例如)變量, 屬性,數學運算的結果或函數調用。

+0

是的,明白了。但是如何做出這樣的事情呢?我試過私人$ category_key = $ this-> config-> models-> key-> category;但它也不工作。爲什麼我不能在init中定義var? – ovnia

+1

在你的構造函數中賦值'$ category' –