mirror of
https://github.com/php/php-src.git
synced 2024-10-03 07:46:12 +00:00
55 lines
1.3 KiB
Plaintext
55 lines
1.3 KiB
Plaintext
|
--TEST--
|
||
|
Bug #52057 (ReflectionClass fails on Closure class)
|
||
|
--FILE--
|
||
|
<?php
|
||
|
|
||
|
$closure = function($a) { echo $a; };
|
||
|
|
||
|
$reflection = new ReflectionClass('closure');
|
||
|
var_dump($reflection->hasMethod('__invoke')); // true
|
||
|
|
||
|
$reflection = new ReflectionClass($closure);
|
||
|
var_dump($reflection->hasMethod('__invoke')); // true
|
||
|
|
||
|
$reflection = new ReflectionObject($closure);
|
||
|
var_dump($reflection->hasMethod('__invoke')); // true
|
||
|
|
||
|
$reflection = new ReflectionClass('closure');
|
||
|
var_dump($h = $reflection->getMethod('__invoke')); // true
|
||
|
var_dump($h->class.'::'.$h->getName());
|
||
|
|
||
|
$reflection = new ReflectionClass($closure);
|
||
|
var_dump($h = $reflection->getMethod('__invoke')); // true
|
||
|
var_dump($h->class.'::'.$h->getName());
|
||
|
|
||
|
$reflection = new ReflectionObject($closure);
|
||
|
var_dump($h = $reflection->getMethod('__invoke')); // true
|
||
|
var_dump($h->class.'::'.$h->getName());
|
||
|
|
||
|
?>
|
||
|
--EXPECTF--
|
||
|
bool(true)
|
||
|
bool(true)
|
||
|
bool(true)
|
||
|
object(ReflectionMethod)#%d (2) {
|
||
|
["name"]=>
|
||
|
string(8) "__invoke"
|
||
|
["class"]=>
|
||
|
string(7) "Closure"
|
||
|
}
|
||
|
string(17) "Closure::__invoke"
|
||
|
object(ReflectionMethod)#%d (2) {
|
||
|
["name"]=>
|
||
|
string(8) "__invoke"
|
||
|
["class"]=>
|
||
|
string(7) "Closure"
|
||
|
}
|
||
|
string(17) "Closure::__invoke"
|
||
|
object(ReflectionMethod)#%d (2) {
|
||
|
["name"]=>
|
||
|
string(8) "__invoke"
|
||
|
["class"]=>
|
||
|
string(7) "Closure"
|
||
|
}
|
||
|
string(17) "Closure::__invoke"
|