3v4l.org

run code in 300+ PHP versions simultaneously
<?php class A { public function x(): int { return 5; } } $cl = get_class(new class() { public function x(): int { return 6; } }); $createProxy = function(string $class): string { $resName = 'Proxy_' . md5($class); class_alias($class, $resName . '_alias'); eval('class ' . $resName . ' extends ' . $resName . '_alias { public function x(): int { return 7; } }'); return $resName; }; $proxyCl = $createProxy($cl); var_dump((new $cl)->x()); var_dump((new $proxyCl)->x());
Output for 8.1.23 - 8.1.33, 8.2.10 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
int(6) int(7)

preferences:
40.52 ms | 406 KiB | 5 Q