CLASS COMMENTS

kangun Messages postés 22 Date d'inscription mardi 7 janvier 2003 Statut Membre Dernière intervention 11 avril 2010 - 30 avril 2006 à 12:18
kangun Messages postés 22 Date d'inscription mardi 7 janvier 2003 Statut Membre Dernière intervention 11 avril 2010 - 2 mai 2006 à 23:10
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/37323-class-comments

kangun Messages postés 22 Date d'inscription mardi 7 janvier 2003 Statut Membre Dernière intervention 11 avril 2010
2 mai 2006 à 23:10
oki, je me renseigne pour allez plus loin, merci beaucoup de votre aide... n'hésitez pas à en ajouter
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
2 mai 2006 à 20:28
Si c'est pour changer de base MySQL en MSSQL, il peut laisser le code SQL à l'air.
Si sa classe n'a pour utilité que l'utilisation d'une base de donnée, il peut laisser le code SQL à l'air.

Maintenant, faire passer en paramètre sa base de donnée au constructeur d'une autre classe relève d'une mauvaise manipulation objet :)
Utilise singleton et multiton qui sont beaucoup plus appropriés surtout pour une classe de DB.
cs_garfield90 Messages postés 388 Date d'inscription lundi 7 juillet 2003 Statut Webmaster Dernière intervention 10 février 2009
1 mai 2006 à 15:46
Normalement, tu devrais faire une classe d'abstraction au niveau des données qui te permet de récuperer les informations depuis n'importe quelle source (MySQL, SQLlite, XML, txt, etc. ) et d'enregistrer les commentaires indépendament de la source de données que tu utilises.

En gros, sans trop passé de temps a t'expliquer :

en simplifiant le système, je vais utiliser le système avec MySQL

$db = new db('mysql', 'db_host', 'db_user', 'db_pass' ); // je créer un objet de type mysql
$comment = new comment('table', 'id_table', 'foreign_id', $db) ; // tu passes tes parametres + ta base de données

$listComment = $comment->getAllComment() // retourne un tableau d'objet comment
foreach ( $listComment as $comment ){
// traitement de l'affichage de tes commentaires
echo ' [mailto:'.$comment->email.' ''.$comment->name.']
<quote>'.$comment->comment.'</quote>


';

}

comme ca si ta classe db est correctement formée, si tu changes de système de BDD, tu n'as qu'a changer l'appel de la premiere ligne.
$db = new db('mssql', 'db_autre_host', 'db_autre_user', 'db_autre_pass' ); // je créer un objet de type mssql

et ainsi de suite.

Je trouve cela beaucoup plus portable et donc plus dans l'esprit que je me fais des classes ( mais peut etre ai-je tord)

Tu dis :
"donc il va falloir que fasse ressortir les données comme des variables"
C'est normalement déjà fait car ta classe à des propriétés qui sont propres à chaque instance de ta classe.
Je t'ai mis dans le foreach un exemple de code qui te permet d'acceder aux différentes propriétés de ta classe.
kangun Messages postés 22 Date d'inscription mardi 7 janvier 2003 Statut Membre Dernière intervention 11 avril 2010
1 mai 2006 à 14:33
oki doki
donc il va falloir que fasse ressortir les données comme des variables
donc après on les place ou on veut (si j'ai bien compris ton raisonnement)
de même pour les accès à la base de donnée, il faudrait donc que la personne renseigne les infos de connexion directement dans sa page à l'appel de la classe, c'est ca???
cs_garfield90 Messages postés 388 Date d'inscription lundi 7 juillet 2003 Statut Webmaster Dernière intervention 10 février 2009
1 mai 2006 à 13:54
Bonjour,

normalement tu devrais séparer ta couche d'acces aux données de ta classe comment.
i.e. que ta classe comment de doit pas savoir comment sont récuperer les informations. Dans ton système, si on utilise pas MySQL, on doit réécrire ta classe et c'est je pense pas le but.

Sinon, tu gères aussi la présentation des données ce qui n'est pas forcement correct.

Je te conseille donc de lire un peu de doc sur la POO car ta classe est conceptuellement incorrecte.

Sur ce, je n'ai pas regardé plus que ca le code donc je ne peux pas t'en dire plus.

Bon courage
kangun Messages postés 22 Date d'inscription mardi 7 janvier 2003 Statut Membre Dernière intervention 11 avril 2010
30 avril 2006 à 12:18
j'attends vos commentaires, n'hésiter pas à me dire tous ce que vous pensez de ce code..;-) merci d'avance
Rejoignez-nous