3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php // define class constant linking to a not defined constant class Foo { const FOO = FOO; } class Bar { const BAR = BAR; } echo 'Define the linked constant AFTER reading: ' . PHP_EOL; Foo::FOO; define('FOO', 'Value of FOO'); var_dump(Foo::FOO); echo 'Define the linked constant BEFORE reading: ' . PHP_EOL; define('BAR', 'Value of BAR'); var_dump(Bar::BAR);
Output for 5.0.2 - 5.6.28, 7.0.0 - 7.1.0
Define the linked constant AFTER reading: Notice: Use of undefined constant FOO - assumed 'FOO' in /in/n4DJB on line 13 string(3) "FOO" Define the linked constant BEFORE reading: string(12) "Value of BAR"
Output for hhvm-3.10.0 - 3.12.0
Define the linked constant AFTER reading: Notice: Use of undefined constant FOO - assumed 'FOO' in /in/n4DJB on line 5 string(3) "FOO" Define the linked constant BEFORE reading: string(12) "Value of BAR"
Output for 5.0.0 - 5.0.1
Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/n4DJB on line 12 Define the linked constant AFTER reading: PHP_EOL Notice: Use of undefined constant FOO - assumed 'FOO' in /in/n4DJB on line 13 string(3) "FOO" Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/n4DJB on line 17 Define the linked constant BEFORE reading: PHP_EOLstring(12) "Value of BAR"
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_CONST, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/n4DJB on line 5
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.4.1
Parse error: parse error, unexpected T_CONST, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/n4DJB on line 5
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/n4DJB on line 5
Process exited with code 255.