3v4l.org

run code in 300+ PHP versions simultaneously
<?php /** * @method &foo() */ class Test { public $values = []; public function &__call($name, $args) { $this->values[$name] ??= null; return $this->values[$name]; } } $test = new Test(); $foo =& $test->foo(); $foo = 42; var_dump($test->values);

preferences:
31.05 ms | 404 KiB | 5 Q