<?php
class Foo {
public function method () { return function () { var_dump(__FUNCTION__, __METHOD__); };}
}
$reflection = new ReflectionMethod(new Foo(), 'method');
var_dump((new ReflectionFunction($reflection->getClosure()))->getClosureThis());
Fatal error: Uncaught ValueError: ReflectionMethod::getClosure(): Argument #1 ($object) cannot be null for non-static methods in /in/XgGKq:8
Stack trace:
#0 /in/XgGKq(8): ReflectionMethod->getClosure()
#1 {main}
thrown in /in/XgGKq on line 8
Process exited with code 255.
Warning: ReflectionMethod::getClosure() expects exactly 1 parameter, 0 given in /in/XgGKq on line 8
Fatal error: Uncaught ReflectionException: Function () does not exist in /in/XgGKq:8
Stack trace:
#0 /in/XgGKq(8): ReflectionFunction->__construct('')
#1 {main}
thrown in /in/XgGKq on line 8
Process exited with code 255.
Warning: ReflectionMethod::getClosure() expects exactly 1 parameter, 0 given in /in/XgGKq on line 8
Fatal error: Uncaught exception 'ReflectionException' with message 'Function () does not exist' in /in/XgGKq:8
Stack trace:
#0 /in/XgGKq(8): ReflectionFunction->__construct('')
#1 {main}
thrown in /in/XgGKq on line 8
Process exited with code 255.
Output for 5.3.0 - 5.3.29
Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /in/XgGKq on line 8
Process exited with code 255.
Output for 5.1.0 - 5.1.6, 5.2.0 - 5.2.17
Parse error: syntax error, unexpected T_FUNCTION in /in/XgGKq on line 4
Process exited with code 255.
Output for 5.0.0 - 5.0.5
Parse error: parse error, unexpected T_FUNCTION in /in/XgGKq on line 4
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/XgGKq on line 4
Process exited with code 255.
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/XgGKq 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/XgGKq on line 4
Process exited with code 255.