3v4l.org

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

preferences:
57.6 ms | 402 KiB | 5 Q