3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Example { public int $foo; public function __get($var) { echo "__get was called for '$var'\n"; return 999; } public function __set($var, $val) { echo "__set was called for '$var'\n"; $this->{$var} = $val; } } echo "Creating instance\n\n"; $example = new Example; echo "Reading before assignment\n"; try { var_dump($example->foo); } catch (Error $e) { echo "Error: ", $e->getMessage(), "\n"; } echo "Assigning\n"; $example->foo = 42; echo "\nUnsetting\n\n"; unset($example->foo); echo "Reading after unset\n"; try { var_dump($example->foo); } catch (Error $e) { echo "Error: ", $e->getMessage(), "\n"; } echo "Assigning after explicit unset\n"; $example->foo = 42;

preferences:
30.16 ms | 404 KiB | 5 Q