は、次のコードを考えてみましょう:PHP 7で呼び出し可能なプロパティを呼び出すのがなぜ機能しますか?
interface Doll
{
/**
* @return string
*/
function __invoke();
}
class LargeDoll
{
private $inner;
function __construct(Doll $inner)
{
$this->inner = $inner;
}
function __invoke()
{
return $this->inner() . ' world';
}
}
$this->inner
は方法ではなく、呼び出し可能な財産であることを期待しているので、これは動作しません。
それでは、私には、(new LargeDoll)();
がうまくいくのと同じように、プロパティがパルテシスでラップされていればどうなりますか?だから私は3v4lでそれをテストした:
return ($this->inner)() . ' world';
And found that it works for PHP 7, but not for previous versions.
しかし、私はこのin the changelogsの一切の言及を見つけることができません。
ここで、この機能の詳細を確認できますか?