【发布时间】:2018-04-15 06:36:19
【问题描述】:
class test {
public function hello() {
echo "hello!";
}
public function assign() {
$var = $this->hello();
$this->hello(); //both seem to be doing the same thing
}
}
这是我正在谈论的一段代码的简化示例,位于第 43 行:https://eval.in/988393
将方法调用(我猜这就是它的调用方式)分配给变量的意义何在?导致它运行的解释是什么(它不仅分配它,而且执行代码)。
PS:这实际上与这里的迭代器有关:http://php.net/manual/en/class.iterator.php。有人告诉我这个:
“迭代器的关键在于你不关心方法是如何被调用的, 你只关心每个单独的方法”。
这个人是什么意思?
【问题讨论】:
-
$var的作用域和$this有很大的不同
-
这不是对函数的赋值,它是关于检索函数返回值,在你的情况下不存在,因为函数只回显一行
标签: php methods iterator return-type