http://www.php.net/manual/en/functions.variable-functions.php#24931
该功能与$this->{$this->varname}()
类似。我试了一下,并确认这是有效的语法,但它让我感到疑惑...... php.net在哪里讨论在这样的变量名中使用花括号?
答案 0 :(得分:1)
答案 1 :(得分:1)
为什么它不起作用?
这些是变量/函数名称。
$f = "time";
$f(); // returns the actual time
它现在是相同的,仅在对象上下文中(http://php.net/manual/en/functions.variable-functions.php):
$object->$f; // calls the method with the name $f in $object
现在,要说它是名为$this->varname
的方法,您需要写$this->{$this->varname}
,因为$this->$this->varname
将被解释为($this->$this)->varname
,结果为{{1}你不想要的东西。