3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php /* Some file #1 */ /** * Using a class to orginize your commonly accessed variables has a few * benifits, one of which is being able to well document each variable. */ class my_vars { /** * Does this, this, and this. Is set in /path/file.ext */ public static $var1; /** * Does this, this, and this. Is set by my_vars::init() */ public static $var2; /** * Does this, this, and this. */ public static $var3 = 'baz'; /*** Methods ***/ /** * Sets up some of the variables values. Should be called at the end of this * file, or sometime later in the script. */ public static function init() { self::$var2 = 'bar'; } } my_vars::init(); /* Some (later) file #2 */ function my_func() { // do stuff my_vars::$var1 = 'foo'; // do stuff } my_func(); echo my_vars::$var1."\n"; echo my_vars::$var2."\n"; echo my_vars::$var3; ?>
Output for 5.0.0 - 7.1.0
foo bar baz
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/kSHpJ on line 14
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_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/kSHpJ on line 14
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/kSHpJ on line 14
Process exited with code 255.