3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php class foo { public static $var_1 = 'foo_var'; public static function printStaticItem() { //echo 'Foo: ' . self::$var_1 . PHP_EOL; } public function printPHP() { echo 'PHP is great.' . PHP_EOL; } } class bar extends foo { public static $var_1 = 'static_bar_var'; public $var_2 = 'bar_var'; public static function printStaticItem() { echo 'Bar: ' . static::$var_1 . PHP_EOL; echo "Bar: {static::$static_var_1}" . PHP_EOL; } public function printItem() { echo "Bar: {$this->$var_2}" . PHP_EOL; } } bar::printStaticItem(); $bar = new bar(); $bar->printItem();
Output for 7.1.0
Bar: static_bar_var Notice: Undefined variable: static_var_1 in /in/3ZOgV on line 24 Bar: {static::} Notice: Undefined variable: var_2 in /in/3ZOgV on line 27 Notice: Undefined property: bar::$ in /in/3ZOgV on line 27 Bar:
Output for 7.0.0 - 7.0.14
Bar: static_bar_var Notice: Undefined variable: static_var_1 in /in/3ZOgV on line 24 Bar: {static::} Notice: Undefined variable: var_2 in /in/3ZOgV on line 27 Fatal error: Uncaught Error: Cannot access empty property in /in/3ZOgV:27 Stack trace: #0 /in/3ZOgV(36): bar->printItem() #1 {main} thrown in /in/3ZOgV on line 27
Process exited with code 255.
Output for 5.3.0 - 5.6.28
Bar: static_bar_var Notice: Undefined variable: static_var_1 in /in/3ZOgV on line 24 Bar: {static::} Notice: Undefined variable: var_2 in /in/3ZOgV on line 27 Fatal error: Cannot access empty property in /in/3ZOgV on line 27
Process exited with code 255.
Output for 5.1.0 - 5.2.17
Parse error: syntax error, unexpected T_STATIC in /in/3ZOgV on line 22
Process exited with code 255.
Output for 5.0.0 - 5.0.5
Parse error: parse error, unexpected T_STATIC in /in/3ZOgV on line 22
Process exited with code 255.
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/3ZOgV 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_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/3ZOgV 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/3ZOgV on line 5
Process exited with code 255.