- Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
- 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());