Class Bdd

Class Bdd - PHP - Programmation

Marsh Posté le 15-11-2004 à 09:05:31    

Salut
 
J'ai une petite interrogation concernant une classe Base de donnees dans un projet PHP avec des objets Client.
 
Ma classe possède une méthode retournerClient() qui me renvoie tous les clients de la base.
 
Pb : je ne sais pas trop ce qu'elle doit retourner.
J'ai quelques idées mais je n'arrive pas à savoir laquelle est la mieux adaptée et surtout la plus propre.
1) Je renvoie un tableau avec des objets client (faire le new Client() dans la méthode et le delete ailleurs c'est moyen)
2) Je renvoie $result (retour de mysql_query) et dans l'appelant je dois faire une boucle avec mysql_fetch_array($result) et pour l'abstraction Bdd c'est moyen aussi  
 
Merci d'éclairer ma lanterne


Message édité par darknagash le 16-11-2004 à 10:35:30
Reply

Marsh Posté le 15-11-2004 à 09:05:31   

Reply

Marsh Posté le 16-11-2004 à 10:36:36    

Personne pour me repondre?

Reply

Marsh Posté le 16-11-2004 à 13:24:48    

Bonne question...
J'ai d'abord écrit avec quelque chose qui s'approchait de la solution 1), et quand je suis passé à php5/mysql4 c'est la class mysqli que j'ai utilisé, qui correspond à la solution 2.
 
Je trouve la 2) plus simple et plus rapide.
Si y'a quelqu'un pour me contredir :??:

Reply

Marsh Posté le 16-11-2004 à 14:30:38    

je débute en poo et je n'ai jamais utilisé php5 encore mais la solution 1 me parait plus "orienté objet" que la 2.

Reply

Marsh Posté le 16-11-2004 à 14:36:34    

la 2 me parait plus facile à mettre en oeuvre, mais je préfèrerai un mysql_fetch_assoc();
C'est mon avis ceci dit! :)

Reply

Marsh Posté le 16-11-2004 à 14:39:31    

vu le nom de ta fonction, elle ne retourne qu'un client, donc elle doit retourner un objet client .|

Reply

Marsh Posté le 16-11-2004 à 17:20:39    

Non elle retourne tous les clients
 
J'aurais du l'appellé retournerClients()

Reply

Marsh Posté le 17-11-2004 à 09:07:38    

alors elle doit retourner une list, un set, une map ou un bag d'objets clients.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed