3v4l.org

run code in 300+ PHP versions simultaneously
<?php // before, in 10.1 class BaseOld { public function __construct() {} public function printTest(): void { print $this->test; } } // after class BaseNew { private bool $test; public function __construct(?bool $test = NULL) { $test = $test ?? TRUE; $this->test = $test; } public function printTest(): void { print $this->test; } } // NOTE: IDENTICAL! class FooOld extends BaseOld { protected bool $test; public function __construct() { parent::__construct(); $this->test = FALSE; } } class FooNew extends BaseNew { protected bool $test; public function __construct() { parent::__construct(); $this->test = FALSE; } } $f = new FooOld(); $f->printTest(); $f = new FooNew(); $f->printTest();
Output for 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
1

preferences:
70.76 ms | 406 KiB | 5 Q