3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Foo { private $bar; } class Friend extends Foo { public $accessor; function __construct(Foo $foo) { Closure::bind(function (Foo $foo) { $this->accessor = & $foo->bar; }, $this, 'Foo')->__invoke($foo); } } $foo = new Foo(); $friend = new Friend($foo); var_dump($foo); $friend->accessor = 'baz'; var_dump($foo);

preferences:
32.12 ms | 402 KiB | 5 Q