2011-12-19 59 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