3v4l.org

run code in 300+ PHP versions simultaneously
<?php abstract class GP { public abstract mixed $foo { get; } } class P extends GP { public mixed $foo; public function x() { ++$this->foo; return $this; } } class C1 extends P { public mixed $foo = 0 { set { parent::$foo::set($value); } } } var_dump((new C1)->x());
Output for 8.4.10
object(C1)#1 (1) { ["foo"]=> uninitialized(mixed) ["foo"]=> int(1) }

preferences:
161.18 ms | 999 KiB | 7 Q