[POO] cloner un objet (et tous ses sous objets ?)
Hello
j'ai des difficultés à utiliser la méthode clone... mon but est de dupliquer un objet "full" , dupliquer aussi tous les objets qu'il contient, et encore chaque sous objet, et sous sous objet...
j'y arrive en faisant un serialize/ unserialize, mais je pense que c'est peut être un goulot d'étranglement.
J'ai vu qu'il y avait une méthode clone...mais je ne comprends pas comment elle marche.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
// recupere un autre objet jeu
function cloner()
{
/* fonctionne */
$nouveauJeu=new jeu(false);
$tmp=serialize($this->listePieces);
$nouveauJeu->chargerPieces($tmp); // fait $this->listePieces = unserialize..
return $nouveauJeu;
/* ne fonctionne pas, les sous objets ne sont pas clonés apparement */
return clone($this);
// $this->listePieces est un tableau d'un autre objet, Piece, qui lui aussi contient pleins d'autres objets...
} |
merci ;)