<?php declare(strict_types=1);
file_put_contents('/tmp/bug2.php', <<<EOT
<?php declare(strict_types=1);
class myParentClass {
const myConst = 'Parent';
}
EOT
);
require('/tmp/bug2.php');
// Error: mySubClass2 does NOT exist!
var_dump(
class_exists( 'myClass1', FALSE ),
class_exists( 'mySubClass1', FALSE ),
class_exists( 'myParentClass', FALSE ),
class_exists( 'mySubClass2', FALSE )
);
class myClass1 {
const myConst = 'C1';
}
class mySubClass1 extends myClass1 {
const myConst = 'S1';
}
class mySubClass2 extends myParentClass {
const myConst = 'S2';
}
// Correct: Now mySubClass2 DOES exist!
var_dump(
class_exists( 'myClass1', FALSE ),
class_exists( 'mySubClass1', FALSE ),
class_exists( 'myParentClass', FALSE ),
class_exists( 'mySubClass2', FALSE )
);
preferences:
49.61 ms | 402 KiB | 5 Q