3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Foo { private $bar; public function __construct() { unset($this->bar); } public function __isset($name) { var_dump(__METHOD__); return true; } public function __get($name) { var_dump(__METHOD__); return $name; } } $instance = new Foo(); $reflectionBar = (new ReflectionProperty(Foo::class, 'bar')); $reflectionBar->setAccessible(true); $closureBar = (function (Foo $instance) { return $instance->bar; })->bindTo(null, Foo::class); var_dump($reflectionBar->getValue($instance)); var_dump($closureBar($instance));

preferences:
50.6 ms | 402 KiB | 5 Q