Sérialiser un objet contenant des objets.

Sérialiser un objet contenant des objets. - PHP - Programmation

Marsh Posté le 10-07-2008 à 16:44:46    

Hello à tous,  
 
J'ai un petit problème qui m'énerve depuis quelques heures maintenant, alors je me décide à vos poser la question. J'ai un objet $o qui contient un tableau d'objets de type A. Je souhaite sérialiser $o pour le passer un paramètre à une autre page. Dans la page de destination je désérialise $o et je fais un print_r($o) : et là  le tableau d'objets de type A est vide ! Y a-t-il une astuce ? Est-ce impossible ?


---------------
Un être en tant qu'être ne pourrait-il pas être autre qu'il n'est s'il n'explique pas lui-même son être ?
Reply

Marsh Posté le 10-07-2008 à 16:44:46   

Reply

Marsh Posté le 10-07-2008 à 17:50:59    

donne du code, ce que tu fais devrait marcher.


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 11-07-2008 à 09:47:23    

Ok, voici les classes :
 

Code :
  1. require_once('classe.B.php');
  2. class A {
  3.   private $tabB = array;
  4.   private $nom = null;
  5.  
  6.   public function __construct($nom, Array $b) {
  7.     $this->nom = $nom;
  8.     foreach ($b as $objetB) {
  9.       array_push ($this->tabB, $objetB);
  10.     }
  11.   }
  12. }


 

Code :
  1. class B {
  2.   private $nom;
  3.  
  4.   public function __construct($nom) {
  5.     $this->nom = nom;
  6.   }
  7. }


 
Voici l'index.php :

Code :
  1. require_once('classe.A.php');
  2. require_once('classe.B.php');
  3. $b1 = new B("Test1" );
  4. $b2 = new B("Test2" );
  5. $a = new A("coucou", array($b1, $b2));
  6. $paramS = serialize($a);
  7. $param = urlencode($paramS);
  8. echo "monURL.php?var=$param";


 
Voici monURL.php :

Code :
  1. require_once('classe.A.php');
  2. require_once('classe.B.php');
  3. $param = urldecode($var);
  4. $aSer = unserialize ($param);
  5. print_r($aSer);


 
Et le résultat :

Code :
  1. A Object ( [nom:private] => coucou [tabB:private] => Array() )


Message édité par greeeg le 11-07-2008 à 10:15:12

---------------
Un être en tant qu'être ne pourrait-il pas être autre qu'il n'est s'il n'explique pas lui-même son être ?
Reply

Marsh Posté le 11-07-2008 à 10:06:04    

Euuuh... où est-ce que tu désérialises, là ? T'en fais quoi, de $param ? D'où sort $a ?  [:pingouino]


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 11-07-2008 à 10:10:07    

...et puis classe A? [:pingouino]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 11-07-2008 à 10:14:40    

Sorry, erreur de copier-coller.


---------------
Un être en tant qu'être ne pourrait-il pas être autre qu'il n'est s'il n'explique pas lui-même son être ?
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed