3v4l.org

run code in 300+ PHP versions simultaneously
<?php class A { private static self $singleton; private function __construct() {} public static function getInstance(): self { if(!isset(self::$singleton)) { self::$singleton = new self; } return self::$singleton; } } $a = A::getInstance(); $b = A::getInstance(); $c = A::getInstance(); var_dump($a); var_dump($b); var_dump($c);
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.25, 8.4.1 - 8.4.12
object(A)#1 (0) { } object(A)#1 (0) { } object(A)#1 (0) { }

preferences:
72.94 ms | 406 KiB | 5 Q