2011-08-22 92 views

回答

8

這不符合類常量的想法 - 它們不應該依賴於特定的實例。你應該使用一個變量。

但是,如果你堅持這樣做,是非常冒險的並且可以安裝PHP擴展,你可以看看runkit擴展,它允許在運行時修改類和它們的常量。看到這個文檔:http://www.php.net/manual/en/function.runkit-constant-add.php

+0

我一直在尋找可以在構造函數中設置的java的'static final'的php等價物,但不幸的是,在php常量中有點不同。 –

+0

它也違背了常量的概念,但在PHP中,您可以動態地定義()一個常量。 –

+0

當您想要定義其值由其他常量的值組成的字符串常量時(爲了幹掉公共部分),這會很有用。由於PHP不允許在常量值中使用表達式(如兩個字符串的連接),因此在構造函數中執行此操作會很有用。 –

3

我不認爲你可以。

它沒有任何意義 - 一個類常量可以在靜態上下文中使用,其中沒有構造函數。

你將不得不使用一個變量 - 這就是他們在那裏。