哪个版本的 php 添加函数返回的方法的调用


Which version of php add invocation of method returned by a function

在这段代码中:

class Foo {
  private $foo;
  public function Foo($foo) {
    $this->foo = $foo;
  }
  public function getFoo() {
    return $this->foo;
  }
}
$a = new Foo(new Foo('bar'));
echo $a->getFoo()->getFoo();

在旧的 php 中,我无法调用第二个getFoo我需要将其分配给某个变量。哪个版本的 php 添加了此功能?

在旧的 php 中,我无法调用第二个 getFoo,我需要将其分配给某个变量。哪个版本的 php 添加了此功能?

也许在一个非常旧的PHP版本中。它在 PHP 4 中不起作用,因为返回 $this->foo 将按值返回,而不是按引用返回。不过,返回&$this->foo会起作用。由于 PHP 5.0(如果我没记错的话),对象总是通过引用返回,所以上面的代码在 PHP>= 5 中应该可以正常工作。