3v4l.org

run code in 300+ PHP versions simultaneously
<?php abstract class Result { private final function __construct() { } public static function success() { return new Success(); } public static function failure() { return new Failure(); } } final class Success extends Result { public static function fakeIt() { return unserialize('O:7:"Success":0:{}'); } } final class Failure extends Result { } var_dump(Result::success()); var_dump(Result::failure()); var_dump(Success::fakeIt());
Output for 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
object(Success)#1 (0) { } object(Failure)#1 (0) { } object(Success)#1 (0) { }

preferences:
75.87 ms | 1612 KiB | 4 Q