在php中我可以这样做:
$class = 'Notes';
echo $class::message();
但似乎从一个方法中,我不能这样做:
echo ($this->myClass)::message();
也不能这样做:
echo someFunctionThatReturnsClassName()::message();
谁能解释为什么?并给出一些关于这种间接机制何时以及如何工作的规则?
谢谢吉迪
在php中我可以这样做:
$class = 'Notes';
echo $class::message();
但似乎从一个方法中,我不能这样做:
echo ($this->myClass)::message();
也不能这样做:
echo someFunctionThatReturnsClassName()::message();
谁能解释为什么?并给出一些关于这种间接机制何时以及如何工作的规则?
谢谢吉迪
这不是变量变量的问题,而是 PHP 不允许这种语法的问题。有一个在核心中解决这个问题的建议,但是这个还没有被接受:http ://wiki.php.net/rfc/fcallfcall (还有http://wiki.php.net/rfc/functionarraydereferencing)