- Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
- object(class@anonymous)#1 (0) { } bool(true)
<?php
function createAnonymousClass() {
// This value goes away by the time the class would be instantiated a second time
$value = [];
$class = get_class(new class() {
function foo() {
// var_dump($^value);
}
});
unset($value);
// $value is gone now
return $class;
}
$class = createAnonymousClass();
var_dump(new $class); // Can't possibly hold a reference to $value
var_dump(createAnonymousClass() === createAnonymousClass());