- 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)
<?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());