3v4l.org

run code in 300+ PHP versions simultaneously
<?php abstract class AbstractFoo { public $bar; final public function __construct() { $this->bar = static::BAR; } } class FooBar extends AbstractFoo { const BAR = 'foobar'; } class Foo extends AbstractFoo { //const BAR = 'foobar'; } $fooBar = new FooBar(); var_dump($fooBar->bar); $foo = new Foo(); var_dump($foo->bar);
Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.27, 8.2.0 - 8.2.17, 8.3.0 - 8.3.4
string(6) "foobar" Fatal error: Uncaught Error: Undefined constant Foo::BAR in /in/WH5Xl:9 Stack trace: #0 /in/WH5Xl(26): AbstractFoo->__construct() #1 {main} thrown in /in/WH5Xl on line 9
Process exited with code 255.
Output for 7.3.0 - 7.3.33, 7.4.0 - 7.4.33
string(6) "foobar" Fatal error: Uncaught Error: Undefined class constant 'BAR' in /in/WH5Xl:9 Stack trace: #0 /in/WH5Xl(26): AbstractFoo->__construct() #1 {main} thrown in /in/WH5Xl on line 9
Process exited with code 255.

preferences:
134.09 ms | 402 KiB | 152 Q