php IHDR w Q )Ba pHYs sRGB gAMA a IDATxMk\U s&uo,mD )Xw+e?tw.oWp;QHZnw`gaiJ9̟灙a=nl[ ʨ G;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ y H@E7j 1j+OFRg}ܫ;@Ea~ j`u'o> j- $_q?qS XzG'ay
files >> /var/www/html/sub/images/Rm19_symconf/root/php-7.1.11/Zend/tests/ |
files >> /var/www/html/sub/images/Rm19_symconf/root/php-7.1.11/Zend/tests/closure_call.phpt |
--TEST-- Closure::call --FILE-- <?php class Foo { public $x = 0; function bar() { return function () { return $this->x; }; } } $foo = new Foo; $qux = $foo->bar(); $foobar = new Foo; $foobar->x = 3; var_dump($qux()); var_dump($qux->call($foo)); // Try on an object other than the one already bound var_dump($qux->call($foobar)); $bar = function () { return $this->x; }; $elePHPant = new StdClass; $elePHPant->x = 7; // Try on a StdClass var_dump($bar->call($elePHPant)); $beta = function ($z) { return $this->x * $z; }; // Ensure argument passing works var_dump($beta->call($foobar, 7)); // Ensure ->call calls with scope of passed object class FooBar { private $x = 3; } $foo = function () { var_dump($this->x); }; $foo->call(new FooBar); ?> --EXPECTF-- int(0) int(0) int(3) Warning: Cannot bind closure to scope of internal class stdClass in %s line %d NULL int(21) int(3)y~or5J={Eeu磝Qk ᯘG{?+]ן?wM3X^歌>{7پK>on\jy Rg/=fOroNVv~Y+ NGuÝHWyw[eQʨSb> >}Gmx[o[<{Ϯ_qFvM IENDB`