3v4l.org

run code in 300+ PHP versions simultaneously
<?php trait ClosureMethods { function __get($method){ return function(...$args) use($method){ return $this->$method(...$args); }; } function __isset($method){ return method_exists($this, $method); } } class Foo { use ClosureMethods; function baz(int $a, int $b){ return $a + $b; } } $foo = new Foo; $methodRef = $foo->baz; var_dump($methodRef(10, 20));

preferences:
51.15 ms | 2066 KiB | 5 Q