Changeset 1266
- Timestamp:
- 01/20/08 13:17:10 (1 year ago)
- Files:
-
- trunk/src/main/php/net/stubbles/php/serializer/stubPHPSerializer.php (modified) (5 diffs)
- trunk/src/main/php/net/stubbles/php/serializer/stubPHPSerializerObjectMapping.php (modified) (1 diff)
- trunk/src/main/php/net/stubbles/php/serializer/stubPHPSerializerSPLSerializableMapping.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/main/php/net/stubbles/php/serializer/stubPHPSerializer.php
r1224 r1266 245 245 return ''; // ignore (resources can't be serialized) 246 246 247 case 'object': {247 case 'object': 248 248 $mapping = $this->findMappingFor($data); 249 249 if (null !== $mapping) { … … 252 252 253 253 return $this->defaultObjectMapping->serialize($this, $data, $context); 254 }255 254 256 255 default: … … 272 271 $token = $serialized->getCharAt($start); 273 272 switch ($token) { 274 case 'N': { // null 273 case 'N': 274 // null 275 275 $serialized->moveOffset(2); 276 276 return null; 277 }278 279 case 'b': {// booleans280 $serialized->moveOffset(2); 281 return (bool) $serialized->consumeWord();282 }283 284 case 'i': {// integers285 $serialized->moveOffset(2); 286 return (int) $serialized->consumeWord();287 }288 289 case 'd': {// decimals290 $serialized->moveOffset(2); 291 return (float) $serialized->consumeWord();292 }293 294 case 's': {// strings277 278 case 'b': 279 // booleans 280 $serialized->moveOffset(2); 281 return (bool) $serialized->consumeWord(); 282 283 case 'i': 284 // integers 285 $serialized->moveOffset(2); 286 return (int) $serialized->consumeWord(); 287 288 case 'd': 289 // decimals 290 $serialized->moveOffset(2); 291 return (float) $serialized->consumeWord(); 292 293 case 's': 294 // strings 295 295 $serialized->moveOffset(2); 296 296 return $serialized->consumeString(); 297 } 298 299 case 'a': {// arrays297 298 case 'a': 299 // arrays 300 300 $serialized->moveOffset(2); 301 301 $a = array(); … … 309 309 $serialized->moveOffset(); // closing "}" 310 310 return $a; 311 }312 313 case 'O': {// objects311 312 case 'O': 313 // objects 314 314 return $this->defaultObjectMapping->unserialize($this, $serialized, $context); 315 } 316 317 default: {// default, check if we have a mapping315 316 default: 317 // default, check if we have a mapping 318 318 if (isset($this->mappings[$token]) == false) { 319 319 throw new stubFormatException('Cannot unserialize unknown type "' . $token . '" (' . $serialized . ')'); … … 321 321 322 322 return $this->mappings[$token]->unserialize($this, $serialized, $context); 323 }324 323 } 325 324 } trunk/src/main/php/net/stubbles/php/serializer/stubPHPSerializerObjectMapping.php
r1224 r1266 67 67 // casting the object to an array gives us access to protected 68 68 // and private properties as well 69 $properties = (array) $object;69 $properties = (array) $object; 70 70 if (method_exists($object, '__sleep') == true) { 71 71 $propsToSerialize = $object->__sleep(); trunk/src/main/php/net/stubbles/php/serializer/stubPHPSerializerSPLSerializableMapping.php
r1224 r1266 82 82 $serialized->moveOffset(2); // token 83 83 $className = $serialized->consumeString(); 84 $size = (int) $serialized->consumeSize();84 $size = (int) $serialized->consumeSize(); 85 85 // C : info about classname length : classname in " : info about data size : data in {} 86 86 $endOffset = ($offset + 1 + 1 + strlen(strlen($className)) + 1 + strlen($className) + 2 + 1 + strlen($size) + 1 + $size + 2);
