3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php class MethodTest { public function nonStaticFunction() { MethodTest::runTest(); } public function __call($name, $arguments) { // Note: value of $name is case sensitive. echo "Calling object method '$name' " . implode(', ', $arguments). "\n"; if (isset($this)) { echo 'this exists...' .PHP_EOL; } } /** As of PHP 5.3.0 */ public static function __callStatic($name, $arguments) { // Note: value of $name is case sensitive. echo "Calling static method '$name' " . implode(', ', $arguments). "\n"; if (isset($this)) { echo 'this exists...' .PHP_EOL; } } } $obj = new MethodTest; $obj->runTest('in object context'); MethodTest::runTest('in static context'); $obj->nonStaticFunction();
based on L01pF
Output for 5.3.0 - 5.3.2, 5.3.4 - 5.6.28, hhvm-3.10.0 - 3.12.0, 7.0.0 - 7.1.0
Calling object method 'runTest' in object context this exists... Calling static method 'runTest' in static context Calling object method 'runTest' this exists...
Output for 5.3.3
Calling object method 'runTest' in object context this exists... Calling static method 'runTest' in static context Calling static method 'runTest'
Output for 5.2.10 - 5.2.17
Calling object method 'runTest' in object context this exists... Fatal error: Call to undefined method MethodTest::runTest() in /in/kJtNp on line 34
Process exited with code 255.
Output for 5.0.2 - 5.2.9
Calling object method 'runTest' in object context this exists... Fatal error: Call to undefined method MethodTest::runtest() in /in/kJtNp on line 34
Process exited with code 255.
Output for 5.0.0 - 5.0.1
Calling object method 'runTest' in object context Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/kJtNp on line 15 this exists...PHP_EOL Fatal error: Call to undefined method MethodTest::runtest() in /in/kJtNp on line 34
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/kJtNp on line 4
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/kJtNp on line 4
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/kJtNp on line 4
Process exited with code 255.