3v4l.org

run code in 500+ PHP versions simultaneously
<?php class T { public $evaluated= 0; public $a= null; public function test() { $this->evaluated++; return $this; } } $t= new T(); $t->test()->a ??= "Test"; var_dump($t);
Output for 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
object(T)#1 (2) { ["evaluated"]=> int(1) ["a"]=> string(4) "Test" }

preferences:
28.52 ms | 704 KiB | 4 Q