CLASSE MYSQL PHP5

cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008 - 8 déc. 2004 à 04:30
nicolas66 Messages postés 116 Date d'inscription mercredi 25 décembre 2002 Statut Membre Dernière intervention 4 janvier 2009 - 2 nov. 2005 à 01:27
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/28055-classe-mysql-php5

nicolas66 Messages postés 116 Date d'inscription mercredi 25 décembre 2002 Statut Membre Dernière intervention 4 janvier 2009
2 nov. 2005 à 01:27
Rien n'empeche de déclarer une variable avec un type ...
Gorrk Messages postés 96 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 26 avril 2007
6 mars 2005 à 15:32
Désolé, c'était effectivement du à une problème de programmation.
Gorrk Messages postés 96 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 26 avril 2007
6 mars 2005 à 15:28
ne se charge pas, pardon. lol
Gorrk Messages postés 96 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 26 avril 2007
6 mars 2005 à 15:28
Je viens de remarquer quelque chose de bizarre et je voudrais savoir si c seulement sur mon site ou si c'est un bug de php : la classe mysql ne ce charche pas automatiquement avec __autoload().

Est ce que ca fait la même chose chez vous ?
Gorrk Messages postés 96 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 26 avril 2007
6 févr. 2005 à 20:47
C'est bon, le zip a ete mis a jour, il contient la classe et un fichier d'exemple.
Gorrk Messages postés 96 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 26 avril 2007
6 févr. 2005 à 19:19
Bon, j'ai refait la plus grande partie du code, ce qui a permis d'eliminer les bugs, si il en a d'autres, faites le moi savoir.
Je n'ai pas mis a jour le zip, je le ferais dès que j'aurais le temps.
Gorrk Messages postés 96 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 26 avril 2007
21 déc. 2004 à 22:11
La classe a encore evoluée, elle tend de plus en plus a fonctionner comme l'extension mysqli, mais elle n'est pas encore finie, il manque encore des proprietes et de methodes.

J'attend des critiques et/ou des suggestions de votre part.

Merci d'avance.
Gorrk Messages postés 96 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 26 avril 2007
20 déc. 2004 à 19:19
Je viens de modifier le fonctionnement de mon script, il n'est pas encore terminer, mais je vous invite a examiner les changements.
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
9 déc. 2004 à 09:17
suis pas tt à fait d'accord. ce qui manque c'est juste le principe des pointeurs. À savoir qu'en C++ par exemple (et plus généralement en C) si tu as une fonction qui est censée te retourner un objet quelconque, à moins d'être certain de pouvoir trouver cet objet auquel cas tu utilises une référence, tu vas utiliser un pointeur. Un pointeur c'est une variable qui contient l'adresse d'un objet dans la mémoire. Or, l'adresse 0 est invalide. Donc: si la fonction échoue tu retournes 0 (ou plutôt NULL, comme ça si ton système est différent ce sera adapté, c'est juste une histoire de constante), sinon tu retournes un pointeur valide. Au final, tu as tjs retourné un pointeur, seulement l'utilisateur doit faire un rapide test if(objet_retourné != NULL) et vala. mais c'est propre, t'as jamais de confusion entre des booléens, des entiers (en fait les booléens sont des entiers), des chaînes (vides ou pas), des objets invalides, des ressources mysql non valide etc etc...

mais en PHP, c'est super facile de renvoyer n'importe quoi puisque ni les variables ni les fonctions ne sont typées, et au final il faut inventer des === et des !== pour rétablir, c'est un peu dommage non?
cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008 1
9 déc. 2004 à 02:34
alors PHP est codé comme un porc...
Ca retourne souvent une ressource ou FALSE, ou encore, un int ou FALSE...
Donc c'est pas coder comme un porc, c'est coder comme PHP.
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
8 déc. 2004 à 23:59
si ta fonction peut retourner autre chose qu'un seul type de variable, c'est que tu codes comme un porc mdr :p enfin... le C++ forcément ça te déforme un codeur ça ^^
cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008 1
8 déc. 2004 à 23:11
Tsss moi aussi je suis au Québec et dans l'université ou je suis (Université de Sherbrooke), il te force quasiment (dans certains programmes) à apprendre à coder comme ILS le veulent... l'utilisation des noms de variables francaise ou angalise importe peu tant que la fonction est documenté (en francais :P)

Pour la norme des ===, si ta fonction peut retourner autre chose qu'un seul type de valeur, il est mieux de mettre cette comparaison d'objet !
Nerdz Messages postés 56 Date d'inscription jeudi 27 juin 2002 Statut Membre Dernière intervention 27 janvier 2005
8 déc. 2004 à 19:08
département de mon cégep ( jsuis au Québec )

ouais je suis d'accord sur le fais qu'il faut s'entendre sur une langue universel mais bon ... jles ferais pas changer d'idée ^^
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
8 déc. 2004 à 18:46
à 17 ans? tu fais quoi comme études? t'as déjà fini le bac?
ils sont bizarres dans ton département si je puis me permettre :p bcp de gros projets open source viennent des universités, si les gens dans ces unifs codaient en danois s'ils sont danois, ça n'avancerait pas bcp, mdr ^^
Nerdz Messages postés 56 Date d'inscription jeudi 27 juin 2002 Statut Membre Dernière intervention 27 janvier 2005
8 déc. 2004 à 18:43
Bah convaincu ^^ mais je ne peux pas .. c les règles (normes) de mon département de programmation
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
8 déc. 2004 à 18:20
convaincu ou converti? ;)
Nerdz Messages postés 56 Date d'inscription jeudi 27 juin 2002 Statut Membre Dernière intervention 27 janvier 2005
8 déc. 2004 à 18:18
ok je vois :)
vu dans ce sens c'est vraiment mieu de coder en anglais
merci pour ta réponse !
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
8 déc. 2004 à 17:27
- pour les rendre réutilisables dans un éventuel projet de groupe (càd pas forcément avec des francophones)
- parce que les mots en anglais contiennent naturellement très très peu de caractères accentués: c'est plus commode pour les noms de variables, classes...
- parce que ça choque moins à la lecture du code (if(object->IsReady()) est plus logique que if(objet->EstPret())
- parce que ça permet souvent de faire plus court (Is_, Get_, Set_ ...) -- ce sont des bêtes exemples ici, mais c'est souvent vrai, ne fut-ce que grâce à la forme progressive (Drawing -> EnTrainDeDessiner, ça c'est ridicule ;))
Nerdz Messages postés 56 Date d'inscription jeudi 27 juin 2002 Statut Membre Dernière intervention 27 janvier 2005
8 déc. 2004 à 17:19
Ceci n'est pas une critique mais une simple question que je me pose depuis longtemps...

Pourquoi vous écrivez toutes vos nom de fonctions, variable, class et autres en anglais ?? Personnellement je trouve sa ridicule.

C'est simplement une question que je me pose depuis longtemps ^^
Gorrk Messages postés 96 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 26 avril 2007
8 déc. 2004 à 15:40
Les 3 "=" c'est pour qu'il n'y ait jamais de confusion dans las comparaisons entre les FALSE, les chaînes vides, les 0, les NULL, ect, mais tu as raison, 2 suffiraients.
Pour ta remarque sur l'identifiant de connexion, merci de m'y avoir fais penser, je l'avais oublié, si j'avais eu des erreurs, je suis sur que je n'aurais pas penser a verifier ca lol.
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
8 déc. 2004 à 14:39
pourquoi tu mets trois signes '=' pour les comparaisons? il faut utiliser ça pour différencer les false des NULL pour certaines fonctions, mais dans ton cas, tu checks si le booléen Debug par exemple vaut false, tu peux te contenter de $this->Debug == false ça fera l'affaire.

sinon, c'est tjs chouette d'encapsuler :) juste une chose: tu devrais passer l'identifiant de ta connexion à chaque requête MySql, sinon c'est la connexion activée le plus récemment qui est utilisée, et si tes scripts utilisent plusieurs occurrences de ta classe pour des bases différentes, ça risque fort de bugger à mon avis.
cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008 1
8 déc. 2004 à 04:30
Wouw, gros pour rien...
enfin, je pense
car j'ai quelque chose de plus petit qui permet de gérer n'importe quelle sorte de base
Tiens tu peux vérifier et me dire ce que tu en penses
http://www.phpcs.com/code.aspx?ID=24813

Pour ceux qui vont dire que je ne fais que critiquer. C'est une bonne source pour apprendre le PHP5 car il utilise les méthode magique !
Point Faible : Un exemple de l'utilisation serait apprécié.
Rejoignez-nous