3v4l.org

run code in 300+ PHP versions simultaneously
<?php use function PHPStan\dumpType; use function PHPStan\Testing\assertType; class A { public function __construct(public ?B $b) {} } class B { public function __construct(public ?C $c) {} } class C { public function __construct(public ?D $d) {} } class D {} $a = new A(new B(null)); var_dump($a->b?->c?->d ?? 'boom!');

preferences:
56.75 ms | 404 KiB | 5 Q