BASIC MYSQL LAYER

Signaler
Messages postés
144
Date d'inscription
vendredi 18 avril 2003
Statut
Membre
Dernière intervention
4 janvier 2010
-
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
-
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/40865-basic-mysql-layer

Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
vi mais chui en train de la refaire (encore et encore... j'ai trouvé des trucs interessants OO :p)
Messages postés
1293
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
21 mai 2015

Comme mfaraday à la différence que je ne pense pas que créer un attribut de class soit utile

if(!in_array($type, array('assoc','array'...))

Mais si tu veux que cette méthode ne soit pas accessible en public la mettre en private ou en protected est effectivement la meilleur solution... .. .

Concernant l'abstraction du moteur tu trouvera quelques bon exemple sur ce site... je pense notament à la class de FhX et à celle de Malalam qui seront des bonnes bases sur lesquelles t'appuyer... .. .

@ tchaOo°
Messages postés
144
Date d'inscription
vendredi 18 avril 2003
Statut
Membre
Dernière intervention
4 janvier 2010

Salut

Pour la remarque 1 de kankrelune, pas besoin de modifier grand chose (enfin je pense)

Tu fais un $fetch_method = array ('assoc', 'array',...);

et dans ta fonction tu fait un !in_array

# public function fetch($type='array')
# {
# if(!in_array($type, $this->fetch_method))
# {
# return false;
# // ou tu généres un message d'erreur un truc genre throw new exception mais la je
# // peux pas t'aider :)
# }
# else
# {
# // Le reste de ta fonction
# }
# }

Voila j'espère avoir pu t'aider :)

Flo
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
17
Pour ce qui est d'abstraire la classe, je suis d'accord... C'est pour ça que je disais :
"Si quelqu'un pense que le code gagnerait à devenir portable pour d'autres moteurs de bdd, avec classes abstraites et tout le tralala, je suis preneur, moi, j'y connais pas grand chose en POO."
Et je le répète, je suis pas développeur de formation, la POO, je découvre doucement...
Cependant, je ne vois pas en quoi le traitement est alourdi... Je suis preneur d'explications.

Kankrelune : "-1- tu ne vérifie pas que $type est valide si je fais $type = 'pwet' ça donne quoi ?"

Effectivement... Il ne m'était pas venu à l'idée qu'on puisse appeler fetch('pwet')... Si je passe la méthode en private, ça permet de bloquer un appel direct non ? Est-ce que c'est une solution, ou bien vaut-il mieux virer l'alias et faire des fonctions distinctes fetch_row et fetch_array, quitte à répéter du code ?


Kankrelune : "-2- tu fais ton num rows dans le for (200 résultats = 200 num rows)... il faut le faire avant et affecter le résultat à une variable"

Alors là, mea culpa... Je suis d'ordinaire le premier à faire attention à ça, et puis là, j'avais la tête ailleurs... C'est une bête erreur d'étourderie, merci de l'avoir signalée.

Merci pour ces commentaire qui me permettent d'avancer.
Afficher les 6 commentaires