3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php class A { private $a = 'ahoj'; private function __invoke(&$a) { echo $this->a; } } $a = new A; //$a('ahoj'); $ref = new \ReflectionMethod($a, '__invoke'); $ref->setAccessible(true); $ref->invoke($a, 'ahoj');
Output for 7.1.0
Warning: The magic method __invoke() must have public visibility and cannot be static in /in/OUH5P on line 5 Warning: Parameter 1 to A::__invoke() expected to be a reference, value given in /in/OUH5P on line 16 ahoj
Output for 7.0.0 - 7.0.14
Warning: The magic method __invoke() must have public visibility and cannot be static in /in/OUH5P on line 5 Warning: Parameter 1 to A::__invoke() expected to be a reference, value given in /in/OUH5P on line 16 Fatal error: Uncaught ReflectionException: Invocation of method A::__invoke() failed in /in/OUH5P:16 Stack trace: #0 /in/OUH5P(16): ReflectionMethod->invoke(Object(A), 'ahoj') #1 {main} thrown in /in/OUH5P on line 16
Process exited with code 255.
Output for 5.5.0 - 5.6.25
Warning: The magic method __invoke() must have public visibility and cannot be static in /in/OUH5P on line 5 ahoj
Output for 5.3.2 - 5.4.45
ahoj
Output for 5.3.0 - 5.3.1
Fatal error: Call to undefined method ReflectionMethod::setAccessible() in /in/OUH5P on line 15
Process exited with code 255.
Output for 5.0.0 - 5.2.17
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/OUH5P on line 14 Fatal error: Call to undefined method ReflectionMethod::setAccessible() in /in/OUH5P on line 15
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/OUH5P on line 3
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/OUH5P on line 3
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/OUH5P on line 3
Process exited with code 255.