调用$ this-> class :: constant时出错

时间:2014-03-16 13:14:21

标签: php class attributes

我有一些使用constans的类。

这样的短代码:

$this->class = $class;
$this->class::constans; 

但它导致Parse错误:语法错误,意外T_PAAMAYIM_NEKUDOTAYIM。

但是当我这样称呼constans时:

$class::constans

没关系。

有没有办法将类名作为属性并调用其常量?

3 个答案:

答案 0 :(得分:1)

要在PHP中动态访问常量,可以使用constant()函数:

$constant_value = constant($this->class  . '::constant');

答案 1 :(得分:0)

不,你不能这样做。 将$this->class分配给局部变量,或使用类名而不是对象(ClassName :: constans),或者您甚至可以为您的类class_alias设置别名

答案 2 :(得分:0)

如果我理解你正确地提出问题,那么你想知道如何在你的课堂上不断访问你。我希望你的$ class代表类似的东西,

   $class = new Something_Class();

尝试使用

    $this->class->constans

另外,我不会将class用作变量名。