3v4l.org

run code in 300+ PHP versions simultaneously
<?php /** vendor/symfony/abc */ namespace Foobar { /* private */ class Wizzbang { } } /** src/Wizzbonk.php */ namespace App { class ExternalClass { public function doStuff(): \Foobar\Wizzbang { return \Foobar\fetchPrivateWizzbang(); } public function accessOtherFizz(): \Foobar\Wizzbang { return new \Foobar\OtherFizz(); } } } namespace Foobar { function fetchPrivateWizzbang() { return new Wizzbang(); } /* private */ class OtherFizz extends Wizzbang { } } namespace { $x = new \App\ExternalClass(); var_dump($x->doStuff()); var_dump($x->accessOtherFizz()); }
Output for 8.1.32, 8.2.0 - 8.2.29, 8.3.0 - 8.3.28, 8.4.1 - 8.4.14, 8.5.0
object(Foobar\Wizzbang)#2 (0) { } object(Foobar\OtherFizz)#2 (0) { }
Output for 8.4.15
/bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.35' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.34' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15)
Process exited with code 1.

preferences:
72.16 ms | 407 KiB | 5 Q