Annotation of embedaddon/php/ext/spl/tests/observer_005.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: SPL: SplObjectStorage serialization & visibility
! 3: --FILE--
! 4: <?php
! 5:
! 6: class TestClass
! 7: {
! 8: public $def = 24;
! 9: public $pub = 25;
! 10: protected $pro = 26;
! 11: private $pri = 27;
! 12:
! 13: public function __construct($pub = 42, $pro = 43, $pri = 44)
! 14: {
! 15: $this->pub = $pub;
! 16: $this->pro = $pro;
! 17: $this->pri = $pri;
! 18: }
! 19: }
! 20:
! 21: class ExtTestClass
! 22: {
! 23: }
! 24:
! 25: class MyStorage extends SplObjectStorage
! 26: {
! 27: public $def = 24;
! 28: public $pub = 25;
! 29: protected $pro = 26;
! 30: private $pri = 27;
! 31:
! 32: public function __construct($pub = 52, $pro = 53, $pri = 54)
! 33: {
! 34: $this->pub = $pub;
! 35: $this->pro = $pro;
! 36: $this->pri = $pri;
! 37: }
! 38: }
! 39:
! 40: class ExtStorage extends MyStorage
! 41: {
! 42: }
! 43:
! 44: $storage = new MyStorage(1,2,3);
! 45:
! 46: foreach(array(array(4,5,6),array(7,8,9)) as $value)
! 47: {
! 48: $storage->attach(new TestClass($value[0], $value[1], $value[2]));
! 49: }
! 50:
! 51: var_dump(count($storage));
! 52:
! 53: foreach($storage as $object)
! 54: {
! 55: var_dump($object);
! 56: }
! 57:
! 58: var_dump($storage);
! 59:
! 60: var_dump(serialize($storage));
! 61: echo "===UNSERIALIZE===\n";
! 62:
! 63: $storage2 = unserialize(serialize($storage));
! 64:
! 65: var_dump(count($storage2));
! 66:
! 67: foreach($storage2 as $object)
! 68: {
! 69: var_dump($object);
! 70: }
! 71:
! 72: var_dump($storage2);
! 73:
! 74: ?>
! 75: ===DONE===
! 76: <?php exit(0); ?>
! 77: --EXPECTF--
! 78: int(2)
! 79: object(TestClass)#%d (4) {
! 80: ["def"]=>
! 81: int(24)
! 82: ["pub"]=>
! 83: int(4)
! 84: ["pro":protected]=>
! 85: int(5)
! 86: ["pri":"TestClass":private]=>
! 87: int(6)
! 88: }
! 89: object(TestClass)#%d (4) {
! 90: ["def"]=>
! 91: int(24)
! 92: ["pub"]=>
! 93: int(7)
! 94: ["pro":protected]=>
! 95: int(8)
! 96: ["pri":"TestClass":private]=>
! 97: int(9)
! 98: }
! 99: object(MyStorage)#%d (5) {
! 100: ["def"]=>
! 101: int(24)
! 102: ["pub"]=>
! 103: int(1)
! 104: ["pro":protected]=>
! 105: int(2)
! 106: ["pri":"MyStorage":private]=>
! 107: int(3)
! 108: ["storage":"SplObjectStorage":private]=>
! 109: array(2) {
! 110: ["%s"]=>
! 111: array(2) {
! 112: ["obj"]=>
! 113: object(TestClass)#%d (4) {
! 114: ["def"]=>
! 115: int(24)
! 116: ["pub"]=>
! 117: int(4)
! 118: ["pro":protected]=>
! 119: int(5)
! 120: ["pri":"TestClass":private]=>
! 121: int(6)
! 122: }
! 123: ["inf"]=>
! 124: NULL
! 125: }
! 126: ["%s"]=>
! 127: array(2) {
! 128: ["obj"]=>
! 129: object(TestClass)#%d (4) {
! 130: ["def"]=>
! 131: int(24)
! 132: ["pub"]=>
! 133: int(7)
! 134: ["pro":protected]=>
! 135: int(8)
! 136: ["pri":"TestClass":private]=>
! 137: int(9)
! 138: }
! 139: ["inf"]=>
! 140: NULL
! 141: }
! 142: }
! 143: }
! 144: string(%d) "%s"
! 145: ===UNSERIALIZE===
! 146: int(2)
! 147: object(TestClass)#%d (4) {
! 148: ["def"]=>
! 149: int(24)
! 150: ["pub"]=>
! 151: int(4)
! 152: ["pro":protected]=>
! 153: int(5)
! 154: ["pri":"TestClass":private]=>
! 155: int(6)
! 156: }
! 157: object(TestClass)#%d (4) {
! 158: ["def"]=>
! 159: int(24)
! 160: ["pub"]=>
! 161: int(7)
! 162: ["pro":protected]=>
! 163: int(8)
! 164: ["pri":"TestClass":private]=>
! 165: int(9)
! 166: }
! 167: object(MyStorage)#%d (5) {
! 168: ["def"]=>
! 169: int(24)
! 170: ["pub"]=>
! 171: int(1)
! 172: ["pro":protected]=>
! 173: int(2)
! 174: ["pri":"MyStorage":private]=>
! 175: int(3)
! 176: ["storage":"SplObjectStorage":private]=>
! 177: array(2) {
! 178: ["%s"]=>
! 179: array(2) {
! 180: ["obj"]=>
! 181: object(TestClass)#%d (4) {
! 182: ["def"]=>
! 183: int(24)
! 184: ["pub"]=>
! 185: int(4)
! 186: ["pro":protected]=>
! 187: int(5)
! 188: ["pri":"TestClass":private]=>
! 189: int(6)
! 190: }
! 191: ["inf"]=>
! 192: NULL
! 193: }
! 194: ["%s"]=>
! 195: array(2) {
! 196: ["obj"]=>
! 197: object(TestClass)#%d (4) {
! 198: ["def"]=>
! 199: int(24)
! 200: ["pub"]=>
! 201: int(7)
! 202: ["pro":protected]=>
! 203: int(8)
! 204: ["pri":"TestClass":private]=>
! 205: int(9)
! 206: }
! 207: ["inf"]=>
! 208: NULL
! 209: }
! 210: }
! 211: }
! 212: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>