从实例化的类调用class-const?

时间:2011-12-19 20:36:16

标签: php

我想知道为什么这不起作用:

$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我无法更新版本,但我需要这个才能工作。这是一段帮助/(帮助)我从数据库表中动态生成模型的代码。

1 个答案:

答案 0 :(得分:3)

这不支持在PHP 5.3之前,stated in the documentation

  

从PHP 5.3.0开始,可以使用变量引用该类。

解决您的PHP版本将使用constant()函数:

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