Mantis - Quercus
Viewing Issue Advanced Details
572 minor always 12-26-05 12:18 12-27-05 16:01
creich  
creich  
normal  
closed  
fixed  
none    
none 3.0.18  
0000572: serialize / unserialize
not working properly for arrays and objects. (IE: php/1225.qa)

Need to add a test for objects.

Notes
(0000579)
creich   
12-26-05 13:35   
The following example is taken from http://us2.php.net/manual/en/language.oop.serialization.php [^]


<?php
// classa.inc:
 
  class A {
     var $one = 1;
  
     function show_one() {
         echo $this->one;
     }
  }
 
// page1.php:

  include("classa.inc");
 
  $a = new A;
  $s = serialize($a);
  // store $s somewhere where page2.php can find it.
  $fp = fopen("store", "w");
  fwrite($fp, $s);
  fclose($fp);

// page2.php:
 
  // this is needed for the unserialize to work properly.
  include("classa.inc");

  $s = implode("", @file("store"));
  $a = unserialize($s);

  // now use the function show_one() of the $a object.
  $a->show_one();
?>

Should echo "1", instead var_dump($a) returns NULL, so show_one() returns "Undefined method".


NB: Remember to check __sleep() and __wakeup()

(0000586)
ferg   
12-27-05 16:01   
php/1218, php/1228