Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
434 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Sérialiser un objet contenant des objets.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Sérialiser un objet contenant des objets.

n°1758004
greeeg
Posté le 10-07-2008 à 16:44:46  profilanswer
 

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 ?
mood
Publicité
Posté le 10-07-2008 à 16:44:46  profilanswer
 

n°1758060
skeye
Posté le 10-07-2008 à 17:50:59  profilanswer
 

donne du code, ce que tu fais devrait marcher.


---------------
Can't buy what I want because it's free -
n°1758271
greeeg
Posté le 11-07-2008 à 09:47:23  profilanswer
 

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 ?
n°1758279
sielfried
Posté le 11-07-2008 à 10:06:04  profilanswer
 

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
n°1758281
skeye
Posté le 11-07-2008 à 10:10:07  profilanswer
 

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


---------------
Can't buy what I want because it's free -
n°1758284
greeeg
Posté le 11-07-2008 à 10:14:40  profilanswer
 

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 ?

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Sérialiser un objet contenant des objets.

 

Sujets relatifs
Déplacer une image dans un objet TimageErreur Programmation Objet PHP 5
envoi d'un buffer contenant une imageCréation de site de vente [ Galerie des Objets en vente ]
[VBA] Recherche nom ou numero de feuille contenant un rangeLogger un objet entierement
[ASP.NET] Accéder aux objets du Global.asax à partir d'un codefile ?[Java] Recuperer le type de l'objet d'une Arraylist
[Résolu] Mise à jour d'un JLabel contenant une image[C++ / SQL] Enregistrer un objet en tant que blob
Plus de sujets relatifs à : Sérialiser un objet contenant des objets.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR