@ 2014-09-01T07:30:43Z <?php
namespace Name\Space;
class Foo
{
public static function bar()
{
}
}
function foo()
{
return $this;
}
$reflection2 = new \ReflectionFunction((new \ReflectionFunction(__NAMESPACE__ . '\\foo'))->getClosure()->bindTo(new \stdClass(),
__NAMESPACE__ .'\\foo'));
//$reflection = new \ReflectionMethod('Name\\Space\\Foo', 'bar');
//$closure = $reflection->getClosure(null);
//$reflection2 = new \ReflectionFunction($closure);
echo PHP_EOL;
echo PHP_EOL;
$ReflectionClass = get_class($reflection2);
$ReflectionCeption = new \ReflectionClass($ReflectionClass);
foreach ($ReflectionCeption->getMethods(\ReflectionMethod::IS_PUBLIC) as $Method) {
if(!$Method->isStatic() && $Method->getNumberOfParameters() === 0) {
echo sprintf('%s::%s(): ', $ReflectionClass, $Method->name);
var_dump($Method->invoke($reflection2));
echo PHP_EOL;
}
}
Enable javascript to submit You have javascript disabled. You will not be able to edit any code.
Output for 8.2.0 - 8.2.18 , 8.3.0 - 8.3.6 Warning: Cannot rebind scope of closure created from function in /in/JITkF on line 18
Deprecated: ReflectionFunction::__construct(): Passing null to parameter #1 ($function) of type Closure|string is deprecated in /in/JITkF on line 18
Fatal error: Uncaught ReflectionException: Function () does not exist in /in/JITkF:18
Stack trace:
#0 /in/JITkF(18): ReflectionFunction->__construct('')
#1 {main}
thrown in /in/JITkF on line 18
Process exited with code 255 . Output for 8.1.0 - 8.1.28 Warning: Cannot rebind scope of closure created from function in /in/JITkF on line 19
Deprecated: ReflectionFunction::__construct(): Passing null to parameter #1 ($function) of type Closure|string is deprecated in /in/JITkF on line 19
Fatal error: Uncaught ReflectionException: Function () does not exist in /in/JITkF:19
Stack trace:
#0 /in/JITkF(19): ReflectionFunction->__construct('')
#1 {main}
thrown in /in/JITkF on line 19
Process exited with code 255 . Output for 7.4.14 - 7.4.33 , 8.0.0 - 8.0.30 Warning: Cannot rebind scope of closure created from function in /in/JITkF on line 19
Fatal error: Uncaught ReflectionException: Function () does not exist in /in/JITkF:19
Stack trace:
#0 /in/JITkF(19): ReflectionFunction->__construct('')
#1 {main}
thrown in /in/JITkF on line 19
Process exited with code 255 . Output for 7.0.0 - 7.0.20 , 7.1.0 - 7.1.33 , 7.2.0 - 7.2.33 , 7.3.0 - 7.3.33 , 7.4.0 - 7.4.13 Warning: Cannot rebind scope of closure created by ReflectionFunctionAbstract::getClosure() in /in/JITkF on line 19
Fatal error: Uncaught ReflectionException: Function () does not exist in /in/JITkF:19
Stack trace:
#0 /in/JITkF(19): ReflectionFunction->__construct('')
#1 {main}
thrown in /in/JITkF on line 19
Process exited with code 255 . Output for 5.6.8 - 5.6.28 ReflectionFunction::__toString(): string(75) "Closure [ <user> public method Name\Space\foo ] {
@@ /in/JITkF 13 - 16
}
"
ReflectionFunction::isDisabled(): bool(false)
ReflectionFunction::getClosure(): object(Closure)#35 (0) {
}
ReflectionFunction::inNamespace(): bool(true)
ReflectionFunction::isClosure(): bool(true)
ReflectionFunction::isDeprecated(): bool(false)
ReflectionFunction::isInternal(): bool(false)
ReflectionFunction::isUserDefined(): bool(true)
ReflectionFunction::isGenerator(): bool(false)
ReflectionFunction::isVariadic(): bool(false)
ReflectionFunction::getClosureThis(): object(stdClass)#2 (0) {
}
ReflectionFunction::getClosureScopeClass(): object(ReflectionClass)#35 (1) {
["name"]=>
string(14) "Name\Space\Foo"
}
ReflectionFunction::getDocComment(): bool(false)
ReflectionFunction::getEndLine(): int(16)
ReflectionFunction::getExtension(): NULL
ReflectionFunction::getExtensionName(): bool(false)
ReflectionFunction::getFileName(): string(9) "/in/JITkF"
ReflectionFunction::getName(): string(14) "Name\Space\foo"
ReflectionFunction::getNamespaceName(): string(10) "Name\Space"
ReflectionFunction::getNumberOfParameters(): int(0)
ReflectionFunction::getNumberOfRequiredParameters(): int(0)
ReflectionFunction::getParameters(): array(0) {
}
ReflectionFunction::getShortName(): string(3) "foo"
ReflectionFunction::getStartLine(): int(13)
ReflectionFunction::getStaticVariables(): array(0) {
}
ReflectionFunction::returnsReference(): bool(false)
Output for 5.5.24 - 5.5.35 ReflectionFunction::__toString(): string(75) "Closure [ <user> public method Name\Space\foo ] {
@@ /in/JITkF 13 - 16
}
"
ReflectionFunction::isDisabled(): bool(false)
ReflectionFunction::getClosure(): object(Closure)#34 (0) {
}
ReflectionFunction::inNamespace(): bool(true)
ReflectionFunction::isClosure(): bool(true)
ReflectionFunction::isDeprecated(): bool(false)
ReflectionFunction::isInternal(): bool(false)
ReflectionFunction::isUserDefined(): bool(true)
ReflectionFunction::isGenerator(): bool(false)
ReflectionFunction::getClosureThis(): object(stdClass)#2 (0) {
}
ReflectionFunction::getClosureScopeClass(): object(ReflectionClass)#34 (1) {
["name"]=>
string(14) "Name\Space\Foo"
}
ReflectionFunction::getDocComment(): bool(false)
ReflectionFunction::getEndLine(): int(16)
ReflectionFunction::getExtension(): NULL
ReflectionFunction::getExtensionName(): bool(false)
ReflectionFunction::getFileName(): string(9) "/in/JITkF"
ReflectionFunction::getName(): string(14) "Name\Space\foo"
ReflectionFunction::getNamespaceName(): string(10) "Name\Space"
ReflectionFunction::getNumberOfParameters(): int(0)
ReflectionFunction::getNumberOfRequiredParameters(): int(0)
ReflectionFunction::getParameters(): array(0) {
}
ReflectionFunction::getShortName(): string(3) "foo"
ReflectionFunction::getStartLine(): int(13)
ReflectionFunction::getStaticVariables(): array(0) {
}
ReflectionFunction::returnsReference(): bool(false)
Output for 5.4.0 - 5.4.45 ReflectionFunction::__toString(): string(74) "Method [ <user> public method Name\Space\foo ] {
@@ /in/JITkF 13 - 16
}
"
ReflectionFunction::isDisabled(): bool(false)
ReflectionFunction::getClosure(): object(Closure)#33 (0) {
}
ReflectionFunction::inNamespace(): bool(true)
ReflectionFunction::isClosure(): bool(false)
ReflectionFunction::isDeprecated(): bool(false)
ReflectionFunction::isInternal(): bool(false)
ReflectionFunction::isUserDefined(): bool(true)
ReflectionFunction::getClosureThis(): object(stdClass)#2 (0) {
}
ReflectionFunction::getClosureScopeClass(): object(ReflectionClass)#33 (1) {
["name"]=>
string(14) "Name\Space\Foo"
}
ReflectionFunction::getDocComment(): bool(false)
ReflectionFunction::getEndLine(): int(16)
ReflectionFunction::getExtension(): NULL
ReflectionFunction::getExtensionName(): bool(false)
ReflectionFunction::getFileName(): string(9) "/in/JITkF"
ReflectionFunction::getName(): string(14) "Name\Space\foo"
ReflectionFunction::getNamespaceName(): string(10) "Name\Space"
ReflectionFunction::getNumberOfParameters(): int(0)
ReflectionFunction::getNumberOfRequiredParameters(): int(0)
ReflectionFunction::getParameters(): array(0) {
}
ReflectionFunction::getShortName(): string(3) "foo"
ReflectionFunction::getStartLine(): int(13)
ReflectionFunction::getStaticVariables(): array(0) {
}
ReflectionFunction::returnsReference(): bool(false)
Output for 5.3.0 - 5.3.29 Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /in/JITkF on line 18
Process exited with code 255 . Output for 4.4.2 - 4.4.9 , 5.1.0 - 5.1.6 , 5.2.0 - 5.2.17 Parse error: syntax error, unexpected T_STRING in /in/JITkF on line 3
Process exited with code 255 . Output for 4.3.0 - 4.3.1 , 4.3.5 - 4.3.11 , 4.4.0 - 4.4.1 , 5.0.0 - 5.0.5 Parse error: parse error, unexpected T_STRING in /in/JITkF on line 3
Process exited with code 255 . Output for 4.3.2 - 4.3.4 Parse error: parse error in /in/JITkF on line 3
Process exited with code 255 . preferences:dark mode live preview
261.8 ms | 401 KiB | 342 Q