Annotation of embedaddon/php/Zend/tests/closure_036.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Closure 036: Rebinding closures, keep calling scope
3: --FILE--
4: <?php
5:
6: class A {
7: private $x;
8:
9: public function __construct($v) {
10: $this->x = $v;
11: }
12:
13: public function getIncrementor() {
14: return function() { return ++$this->x; };
15: }
16: }
17:
18: $a = new A(0);
19: $b = new A(10);
20:
21: $ca = $a->getIncrementor();
22: $cb = $ca->bindTo($b);
23: $cb2 = Closure::bind($ca, $b);
24:
25: var_dump($ca());
26: var_dump($cb());
27: var_dump($cb2());
28:
29: ?>
30: --EXPECTF--
31: int(1)
32: int(11)
33: int(12)
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>