Pointeur et objet - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : Pointeur et objet (/showthread.php?tid=3969) Pages :
1
2
|
Pointeur et objet - Wells - 14-05-2009 Bonjour, j'ai un petit soucis. Vous allez vite comprendre : Code PHP :
Comme vous le constatez mes deux tableaux sont des pointeurs, puisque modifier l'un modifie l'autre. Hors moi j'aimerais avoir un objet dans chacun de mes tableaux. Cela me permettra de faire tt les modifs que je veuc dans $pouet tout en gardant une sauvegarde de l'état initial dans $pouet2. qq'un a une solution ? ps: posté aussi ici:http://www.phpfrance.com/forums/voir_reponse-290818.php#290818 RE: Pointeur et objet - Findel - 14-05-2009 En php4 faire $nouveau = $source; fait une copie, donc ce que tu décris ne se produit qu'en php 5. Pour résoudre le pb en php5, il te faut faire un clone de l'objet : $pouet2[0] = clone($pouet[0]); RE: Pointeur et objet - Wells - 14-05-2009 Hum quand je rajouter la méthode clone dans ma classe: Code: Fatal error: Cannot override final method Exception::__clone() noté que ma classe hérite d'une autre. Placé la méthode clone dans la classe mère produit le même message dans la dites classe mère. RE: Pointeur et objet - Mycroft - 14-05-2009 Ca me choque pas trop dans le sens où logiquement tu n'as toujours qu'une instance de la class Toto. Par contre, le comportement de php4 m'aurait choqué . Poste intéressant en tout cas. RE: Pointeur et objet - Wells - 14-05-2009 hum certes m'enfin ca marche tjs pas le clone :p RE: Pointeur et objet - Sephi-Chan - 14-05-2009 Je te propose d'essayer ce qui suit :
Tu devrais, à priori, avoir le résultat escompté. Sephi-Chan RE: Pointeur et objet - Wells - 14-05-2009 Le clonage ne marche pas car j'hérite de la class Exception. Je me suis donc résolut à faire la mienne: Code PHP :
RE: Pointeur et objet - wild-D - 14-05-2009 autre variante, y a la méthode magic __clone() si tu souhaite après y a un détail qui me laisse perplexe; c'est pourquoi tous tes objets héritent de la classe Exception ? -enfin si j'ai bien compris ce que tu dis- RE: Pointeur et objet - Zamentur - 14-05-2009 Juste pour info on parle pas de pointeur en php mais de référence. Sinon je me demande aussi à quoi peut servir d'hériter de la classe exception et de faire une sauvegarde Dans ce cas précis je me demande si il serait pas mieux de définir un objet sauvegarde toto qui serait alors recharger via une méthode si besoin. Non parce que si tu clones çà veux dire que tu as 2 exceptions... Ça doit pas être pour rien que les exception ne soient pas clonable... RE: Pointeur et objet - pascal - 14-05-2009 Est-ce que ta classe (batiment ?) est une sorte d'exception ? Il y a peut être à revoir du coté de la conception. A+ Pascal |