variables membres sont des objets -> bonne/mauvaise idée ? - PHP - Programmation
Marsh Posté le 19-04-2006 à 12:42:10
J'ai oublié de dire que je ne fais pas de modélisation uml, mais merise. Mon problème vient peut être de là ?
Marsh Posté le 19-04-2006 à 13:36:15
ça marche très bien...quel est le soucis?
Si tu veux éviter que ce soit trop lourd évite les recopies, par contre, pour les objets...passe-les par référence :
Si tu les passes en paramètre de fonctions n'oublie pas le &, et idem lors des affectations.
Marsh Posté le 19-04-2006 à 13:50:44
Bien sur que ça marche, mais je voulais seulement avoir confirmation que c'était la bonne façon de voir les choses.
Citation : |
Peux tu être un peu plus précis pour les affectations (exemple)
Merci
Marsh Posté le 19-04-2006 à 13:53:07
bah au lieu de faire
Code :
|
tu fais
Code :
|
Par contre si tu touches à $truc tu modifies aussi $monjoliobjet dans ce cas, donc attention à voir si c'est bien adapté à ton utilisation.
Marsh Posté le 19-04-2006 à 14:19:11
précisons que c'est pour PHP4, en PHP5 les variables sont passées en référence par défaut, donc pas besoin de mettre &
Marsh Posté le 19-04-2006 à 14:20:15
Djebel1 a écrit : précisons que c'est pour PHP4, en PHP5 les variables sont passées en référence par défaut, donc pas besoin de mettre & |
Ah tiens, j'apprends un truc...
...et ya moyen de faire l'inverse, alors, en php5?
Marsh Posté le 19-04-2006 à 14:22:39
c'est ballot, de pas pouvoir faire une copie d'objet, quand même...
Marsh Posté le 19-04-2006 à 14:30:12
'tain c'est pratique.
Marsh Posté le 19-04-2006 à 14:45:59
bah personnellement je trouve ça carrément pratique de pas devoir mettre des & partout ^^
Marsh Posté le 19-04-2006 à 14:57:22
oué m'enfin bonjour la compatibilité des anciens scripts, quoi...
Marsh Posté le 19-04-2006 à 15:20:45
oui me demande aussi comment ça peut tourner, je pense que les scripts PHP4 qui tournent sur PHP5 sont pas faits en objet
Marsh Posté le 19-04-2006 à 15:28:04
Djebel1 a écrit : oui me demande aussi comment ça peut tourner, je pense que les scripts PHP4 qui tournent sur PHP5 sont pas faits en objet |
euh, si, une partie des miens, par exemple.
'fin bref, heureusement qu'il y a pas d'effets de bord à la con comme ça, j'aurais été bien emmerdé de débugger ça...
Marsh Posté le 24-04-2006 à 12:41:04
skeye a écrit : bah au lieu de faire
|
Donc en fait il serait plus judicieux de faire des instanciations à l'extérieur des objets et de leurs passer ensuite le référence de l'objet à utiliser. (Exemple : Créer un objet client à l'extérieur de la classe commande, puis passer la référence de l'objet client à la classe commande).
Cependant on est obligé d'instancier à chaque fois le client et la commande. Alors que ma methode consistait à instancier mon client dans le constructeur de ma commande. Comme ça je n'ai que la commande à instancier, le client s'instancie automatiquement.
Mais peut être cette dernière méthode allourdit-elle l'objet commande inutilement.
Laquelle des deux methodes est selon vous la plus optimisée.
Merci
Marsh Posté le 24-04-2006 à 12:45:45
Effectivement, si l'objet "client" n'a pas d'existence propre avant la création de l'objet "commande" qui le contient, je ne vois pas d'intérêt à l'instancier en-dehors pour le passer ensuite en référence.
Marsh Posté le 19-04-2006 à 12:21:15
Bonjour,
J'ai un problème pour concevoir mes objets. J'utilise pas mal de variable membre qui sont en fait des objets. Cela me permet assez facilement d'accéder à mes objets, par l'intermédiaire de l'objet dont il dépend.
Je m'explique, j'ai 2 objets, un objet client et un objet commande. Dans mon objet commande, j'ai une variable membre 'monClient', qui est un objet client. Lors d'un commande j'accède à mes données client comme suit :
Mais je ne sais pas s'il s'agit d'une bonne ou d'une mauvaise façon de voir les choses.
D'un coté je voudrais essayer de faire une hiérarchie d'objets cohérente et d'un autre je ne voudrais pas me retrouver coincé si mes objets sont trop lourds à utiliser.
Merci de vos réponses