Annotation of embedaddon/php/Zend/tests/closure_020.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Closure 020: Trying to access private property outside class
! 3: --FILE--
! 4: <?php
! 5:
! 6: class foo {
! 7: private $test = 3;
! 8:
! 9: public function x() {
! 10: $a = &$this;
! 11: $this->a = function() use (&$a) { return $a; };
! 12: var_dump($this->a->__invoke());
! 13: var_dump(is_a($this->a, 'closure'));
! 14: var_dump(is_callable($this->a));
! 15:
! 16: return $this->a;
! 17: }
! 18: }
! 19:
! 20: $foo = new foo;
! 21: $y = $foo->x();
! 22: var_dump($y()->test);
! 23:
! 24: ?>
! 25: --EXPECTF--
! 26: object(foo)#%d (%d) {
! 27: ["test":"foo":private]=>
! 28: int(3)
! 29: ["a"]=>
! 30: object(Closure)#%d (1) {
! 31: ["static"]=>
! 32: array(1) {
! 33: ["a"]=>
! 34: *RECURSION*
! 35: }
! 36: }
! 37: }
! 38: bool(true)
! 39: bool(true)
! 40:
! 41: Fatal error: Cannot access private property foo::$test in %s on line %d
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>