在这段代码中:
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 中应该可以正常工作。