3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Foo { public function __construct() { echo 'foo'; } } class Bar { public function __construct() { echo 'bar'; } } class Build { private ?Foo $foo = null; private ?Bar $bar = null; function foo(): Foo { return $this->foo ?? new Foo(); } function bar(): Bar { return $this->bar ??= new Bar(); } } $build = new Build(); $build->foo(); $build->foo(); $build->bar(); $build->bar();
Output for 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
foofoobar

preferences:
89.15 ms | 406 KiB | 5 Q