mirror of
https://github.com/php/php-src.git
synced 2024-12-02 22:34:55 +08:00
30 lines
688 B
PHP
30 lines
688 B
PHP
--TEST--
|
|
Closure 042: Binding an instance to a non-scoped non-static closures gives it a dummy scope
|
|
--SKIPIF--
|
|
<?php if(!extension_loaded("reflection")) print "skip no reflection"; ?>
|
|
--FILE--
|
|
<?php
|
|
|
|
$c = function() { var_dump($this); };
|
|
$d = $c->bindTo(new stdClass);
|
|
$d();
|
|
$rm = new ReflectionFunction($d);
|
|
var_dump($rm->getClosureScopeClass()->name); //dummy sope is Closure
|
|
|
|
//should have the same effect
|
|
$d = $c->bindTo(new stdClass, NULL);
|
|
$d();
|
|
$rm = new ReflectionFunction($d);
|
|
var_dump($rm->getClosureScopeClass()->name); //dummy sope is Closure
|
|
|
|
echo "Done.\n";
|
|
|
|
--EXPECTF--
|
|
object(stdClass)#%d (0) {
|
|
}
|
|
string(7) "Closure"
|
|
object(stdClass)#%d (0) {
|
|
}
|
|
string(7) "Closure"
|
|
Done.
|