passage par référence pour objets php [OK] - PHP - Programmation
Marsh Posté le 20-05-2004 à 22:37:16
up, personne ?
+Edit du post
Marsh Posté le 20-05-2004 à 23:30:39
gizmo a écrit : Et le reste du code, on le devine? |
bah je vois pas ce qu'il te faut
Ma question c'est juste comment filer des references d'objets a un autre objet.
Marsh Posté le 20-05-2004 à 23:45:14
c'est censé m'aider ?
Marsh Posté le 20-05-2004 à 23:50:07
Qu'est ce que t'as pas compris ?
Marsh Posté le 21-05-2004 à 08:09:36
boulax a écrit : bah je vois pas ce qu'il te faut |
Alors dans ce cas, ton code est juste. Suffisait de lire la doc pour s'en convaincre. Maintenant, si ce n'est pas le cas en pratique, c'est que tu fais une merde ailleurs dans ton code...
Marsh Posté le 21-05-2004 à 09:27:06
Oui, je pense que ca vient de mon objet noeud. En fait je stocke les fils dans un tableau en faisant un array_push et apparemment cette méthode effectuerait une recopie. Je vais tester en faisant des affectations de références ('=&') à la place.
EDIT: voici donc le code qui fonctionne
|
ce qui donne bien :
|
Marsh Posté le 19-05-2004 à 16:29:08
J'ai un problème avec une implémentation d'arbre n-aire en Php.
Il faut que je puisse créer tout les noeuds puis composer l'arbre un peu comme je veux par la suite c'est a dire en rattachant les fils les uns aux autres.
J'ai donc un objet "Node" (noeud) avec une méthode "addChild($Node)" (qui ajoute a this l'objet $Node en tant que fils) et je voudrai pouvoir passer les noeuds par référence afin de pouvoir leur ajouter par la suite des autres fils via les memes variables.
J'ai essayé plusieurs combinaisons avec le "&" sans succes
notamment ceci, que j'aurai dit juste
function addChild(&$newNode) // fonction dans la classe
...
$Racine->addChild($Fils1); // dans le main
$Fils1->addChild($Fils2);
Un dump de l'arbre donne "Racine" et "Fils1"... (manque fils2)
Toute suggestion a ce propos est la bienvenue.
Message édité par boulax le 21-05-2004 à 10:00:54
---------------
Posté depuis des chiottes, sales. Me gusta.