3v4l.org

run code in 300+ PHP versions simultaneously
<?php class BaseController { } class UserController extends BaseController { public static $get; public function get($id) { echo "Get: $id"; } public static function init() { $r = new ReflectionClass(static::class); $methods = $r->getMethods(ReflectionMethod::IS_PUBLIC); $props = array_keys($r->getStaticProperties()); foreach ($methods as $method) { $prop = $method->name; if (in_array($prop, $props)) { static::$$prop = static::class . '@' . $method; } } } } UserController::init(); echo UserController::$get;

preferences:
40.49 ms | 402 KiB | 5 Q