From: Operating system: Linux PHP version: 5.3.10 Package: *Data Exchange functions Bug Type: Bug Bug description:Serializable interface not calling unserialize()
Description: ------------ unserialize() in a class implementing Serializable is not called when the serialized object is contained within a container element (e.g. array). Compare with __wakeup() which IS called in the same environment. In the test script below, if the class is modified to not extend Serializable, the output is: Sleep Wakeup Test script: --------------- class Foo implements Serializable { public function __sleep() { print "Sleep\n"; return array(); } public function __wakeup() { print "Wakeup\n"; } public function serialize() { print "Serialize\n"; } public function unserialize($data) { print "Unserialize\n"; } } $a = array( new Foo() ); $b = serialize($a); unserialize($b); Expected result: ---------------- Serialize Unserialize Actual result: -------------- Serialize -- Edit bug report at https://bugs.php.net/bug.php?id=61192&edit=1 -- Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=61192&r=trysnapshot54 Try a snapshot (PHP 5.3): https://bugs.php.net/fix.php?id=61192&r=trysnapshot53 Try a snapshot (trunk): https://bugs.php.net/fix.php?id=61192&r=trysnapshottrunk Fixed in SVN: https://bugs.php.net/fix.php?id=61192&r=fixed Fixed in SVN and need be documented: https://bugs.php.net/fix.php?id=61192&r=needdocs Fixed in release: https://bugs.php.net/fix.php?id=61192&r=alreadyfixed Need backtrace: https://bugs.php.net/fix.php?id=61192&r=needtrace Need Reproduce Script: https://bugs.php.net/fix.php?id=61192&r=needscript Try newer version: https://bugs.php.net/fix.php?id=61192&r=oldversion Not developer issue: https://bugs.php.net/fix.php?id=61192&r=support Expected behavior: https://bugs.php.net/fix.php?id=61192&r=notwrong Not enough info: https://bugs.php.net/fix.php?id=61192&r=notenoughinfo Submitted twice: https://bugs.php.net/fix.php?id=61192&r=submittedtwice register_globals: https://bugs.php.net/fix.php?id=61192&r=globals PHP 4 support discontinued: https://bugs.php.net/fix.php?id=61192&r=php4 Daylight Savings: https://bugs.php.net/fix.php?id=61192&r=dst IIS Stability: https://bugs.php.net/fix.php?id=61192&r=isapi Install GNU Sed: https://bugs.php.net/fix.php?id=61192&r=gnused Floating point limitations: https://bugs.php.net/fix.php?id=61192&r=float No Zend Extensions: https://bugs.php.net/fix.php?id=61192&r=nozend MySQL Configuration Error: https://bugs.php.net/fix.php?id=61192&r=mysqlcfg