Return to objects_024.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / Zend / tests |
1.1 ! misho 1: --TEST-- ! 2: Testing direct assigning for property of object returned by function ! 3: --FILE-- ! 4: <?php ! 5: ! 6: class foo { ! 7: static $bar = array(); ! 8: ! 9: public function __set($a, $b) { ! 10: self::$bar[] = $b; ! 11: } ! 12: ! 13: public function __get($a) { ! 14: /* last */ ! 15: return self::$bar[count(self::$bar)-1]; ! 16: } ! 17: } ! 18: ! 19: function test() { ! 20: return new foo; ! 21: } ! 22: ! 23: $a = test()->bar = 1; ! 24: var_dump($a, count(foo::$bar), test()->whatever); ! 25: ! 26: print "\n"; ! 27: ! 28: $a = test()->bar = NULL; ! 29: var_dump($a, count(foo::$bar), test()->whatever); ! 30: ! 31: print "\n"; ! 32: ! 33: $a = test()->bar = test(); ! 34: var_dump($a, count(foo::$bar), test()->whatever); ! 35: ! 36: print "\n"; ! 37: ! 38: ?> ! 39: --EXPECTF-- ! 40: int(1) ! 41: int(1) ! 42: int(1) ! 43: ! 44: NULL ! 45: int(2) ! 46: NULL ! 47: ! 48: object(foo)#%d (0) { ! 49: } ! 50: int(3) ! 51: object(foo)#%d (0) { ! 52: } ! 53: