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

时间:2012-05-07 07:17:05

标签: php function version

在此代码中:

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添加了此功能?

1 个答案:

答案 0 :(得分:3)

  

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

可能在真正的旧PHP版本中。它在PHP 4中不起作用,因为返回$this->foo将按值返回,而不是通过引用返回。返回&$this->foo会有效。从PHP 5.0开始(如果我没记错的话),对象总是通过引用返回,因此上面的代码在PHP> = 5中应该没有问题。