【发布时间】:2012-10-30 02:10:49
【问题描述】:
为什么我不能像这样通过 A 类的动态属性从 B 类调用常量?难道我做错了什么?
class A {
public $class_b;
}
class B {
const CONST_VAR = 'b';
}
$class_a = new A();
$class_a->class_b = new B();
echo $class_a->class_b::CONST_VAR;
PHP 解析错误:语法错误,意外的 T_PAAMAYIM_NEKUDOTAYIM,需要 ',' 或 ';'在第 14 行的 /root/1.php 中
不过这样称呼也不错:
$b = $class_a->class_b;
echo $b::CONST_VAR;
【问题讨论】:
-
@hakre 我认为他想要更像
($class_a->class_b)::CONST_VAR的东西(尽管我不知道这是否是有效的语法)。我相信您提出的声明评估为$class_a->b,这不是意图。 -
更好的问题是为什么要以这种方式访问类常量?
标签: php