3v4l.org

run code in 300+ PHP versions simultaneously
<?php class TopLevel { public $arg; public function __construct(string $arg) { printf("Top level: %s\n", $arg); $this->arg = $arg; } } class MidLevel extends TopLevel { public function __construct(string $arg) { printf("Mid level: %s\n", $arg); parent::__construct($arg); } } class EndLevel extends MidLevel { public function __construct(string $arg) { printf("End level: %s\n", $arg); TopLevel::__construct($arg); } } $mid = new MidLevel('mid'); var_dump($mid->arg); echo "---\n"; $end = new EndLevel('end'); var_dump($end->arg);
Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.26, 8.4.1 - 8.4.13
Mid level: mid Top level: mid string(3) "mid" --- End level: end Top level: end string(3) "end"

preferences:
109.49 ms | 407 KiB | 5 Q