3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Foo { private $priv; private static function set(self $instance, $name, $value) { $instance->$name = $value; } public function __construct(self $instance = null) { if ($instance) { self::set($instance, 'priv', 'dafuq'); } } } $a = new Foo; $b = new Foo($a); var_dump($a, $b);

preferences:
53.91 ms | 402 KiB | 5 Q