diff options
-rwxr-xr-x | Zend/tests/closure_037.phpt | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/Zend/tests/closure_037.phpt b/Zend/tests/closure_037.phpt new file mode 100755 index 0000000000..4b24c85d16 --- /dev/null +++ b/Zend/tests/closure_037.phpt @@ -0,0 +1,47 @@ +--TEST-- +Closure 037: self:: and static:: within closures +--FILE-- +<?php +class A { + private $x = 0; + + function getClosure () { + return function () { + $this->x++; + self::printX(); + self::print42(); + static::print42(); + }; + } + + function printX () { + echo $this->x."\n"; + } + + function print42() { + echo "42\n"; + } +} + +class B extends A { + function print42() { + echo "forty two\n"; + } +} + +$a = new A; +$closure = $a->getClosure(); +$closure(); +$b = new B; +$closure = $b->getClosure(); +$closure(); +?> +Done. +--EXPECTF-- +1 +42 +42 +1 +42 +forty two +Done.
\ No newline at end of file |