2011-12-19 62 views
1

我不知道爲什麼這是行不通的:從實例化的類調用類的常量?

$oClass = get_called_class(); 
$sConstValue = $oClass::sConstName; 

例如在哪裏$ oClass可以是類User的一個實例,sConstName包含一個值。我得到PHP的本機錯誤Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in...

此代碼在另一臺機器上工作。不同之處在於PHP中的版本。我的機器運行5.2.17,另一臺機器運行5.3.6。

由於PHP版本的錯誤?如果是這樣,是否有我的PHP版本的解決方法? Atm我無法更新版本,但我需要這個工作。這是一段幫助/(幫助我)從數據庫表動態生成模型的代碼。

+0

WTF Paamayim Nekudotayim,這在希伯來語:○ – 2011-12-19 20:47:10

+0

@Truth:Zend公司的原始開發者都來自伊斯雷爾是,所以這是他們的「復活節彩蛋」。 – 2011-12-19 20:50:31

回答

3

這是不支持預PHP 5.3,如stated in the documentation

作爲PHP 5.3.0的,有可能使用變量來引用類。

一個解決您的PHP版本將使用constant()功能:

constant($oClass . '::sConstName'); 
+0

你已經打敗了我,我的回覆與你提供的文檔相同。我會嘗試你的建議。 – Ben 2011-12-19 20:47:01