From: m dot stach at ewerk dot com Operating system: All PHP version: 5.2.2 PHP Bug Type: SPL related Bug description: Classes extending ArrayObject do not serialize correctly
Description: ------------ If a class extends ArrayObject, serializing does not work correctly. All properties are missing after unserializing, only the array contents are remain. ArrayObjects (un)serializes without problems and does not implement the Serializable interface, so there seems no need to change the implementation of that interface. The documentation mentions that it is not possible to serialize objects of internal class. Since ArrayObject itself serializes fine, I regard ArrayObject as "non-internal". May be this is a documentation bug. But this would IMHO limit the broad use of the ArrayObject class. Reproduce code: --------------- class a extends ArrayObject { public $a = 2; } $a = new a(); $a->a = 1; var_dump($a); var_dump($a->a); $a = unserialize(serialize($a)); var_dump($a); var_dump($a->a); Expected result: ---------------- object(a)#1 (1) { ["a"]=> int(1) } int(1) object(a)#1 (1) { ["a"]=> int(1) } int(1) Actual result: -------------- object(a)#1 (0) { } int(1) object(a)#2 (0) { } int(2) -- Edit bug report at http://bugs.php.net/?id=41528&edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=41528&r=trysnapshot44 Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=41528&r=trysnapshot52 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=41528&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=41528&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=41528&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=41528&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=41528&r=needscript Try newer version: http://bugs.php.net/fix.php?id=41528&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=41528&r=support Expected behavior: http://bugs.php.net/fix.php?id=41528&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=41528&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=41528&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=41528&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=41528&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=41528&r=dst IIS Stability: http://bugs.php.net/fix.php?id=41528&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=41528&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=41528&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=41528&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=41528&r=mysqlcfg