3v4l.org

run code in 300+ PHP versions simultaneously
<?php declare(strict_types = 1); namespace { class Foo { const TEST = 'global'; } } namespace ClassConstFetchDefined { class Foo { const TEST = 'namspaced'; } class HelloWorld { public static function doFoo() { if (defined('Foo::TEST')) { echo \Foo::TEST . PHP_EOL; } else { echo 'not defined' . PHP_EOL; } if (defined('\Foo::TEST')) { echo \Foo::TEST . PHP_EOL; } else { echo 'not defined' . PHP_EOL; } if (defined('ClassConstFetchDefined\Foo::TEST')) { echo Foo::TEST . PHP_EOL;; } else { echo 'not defined' . PHP_EOL; } if (defined('\ClassConstFetchDefined\Foo::TEST')) { echo Foo::TEST . PHP_EOL; } else { echo 'not defined' . PHP_EOL; } } } (new HelloWorld)->doFoo(); }
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
global global namspaced namspaced

preferences:
110.33 ms | 406 KiB | 5 Q