http://www.php.net/manual/en/functions.variable-functions.php#24931
该函数执行类似$this->{$this->varname}()
. 我尝试了它并确认这是有效的语法,但它让我想知道...... php.net 在哪里讨论在这样的变量名中使用大括号?
http://www.php.net/manual/en/functions.variable-functions.php#24931
该函数执行类似$this->{$this->varname}()
. 我尝试了它并确认这是有效的语法,但它让我想知道...... php.net 在哪里讨论在这样的变量名中使用大括号?
为什么它不应该工作?
这些是变量变量/函数名称。
$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
现在,要说它是带有 name 的方法$this->varname
,您需要编写$this->{$this->varname}
as$this->$this->varname
将被解释为您不想要($this->$this)->varname
的结果。in $this->{$this->__toString()}->varname