coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 2012
-
30 juin 2007 à 12:10
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 2012
-
2 juil. 2007 à 18:31
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 2 juil. 2007 à 18:31
je ne critique pas ta production ou ton niveau, j'expose les defauts de ta production, en proposant des ameliorations... tu peux remarquer que grace a mes remarques, t'as deja optimise et mis a jours une fonction de ton code...
devmax
Messages postés47Date d'inscriptionmercredi 13 mars 2002StatutMembreDernière intervention 2 juillet 2007 2 juil. 2007 à 15:55
oui, ça change pas grand chose.
Pour les variables globales, je sais très bien que ce n'est pas un choix conseillé ! Je débute pas en PHP va ! mais ici ça simplifie et la vie de l'utilisateur et la mienne ! parfois il faut savoir sortir des modeles de conception standard (t'inquiete je maîtrise tout mes design patterns...). L'utilisation de variables globales allège le code et simplifie la configuration dans mon cas, puisque tout tient dans un script. Et puis elle sont toutes prefixées d'un underscore, on écrit rarement c'est variable en commençant par un underscore nan ? (sauf dans les classes pour certaines propriétés, mais pas de problème là !)
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 2 juil. 2007 à 07:14
sinon, avoit tout un tas de variables globales, c'est... pas top, car ca empeche l'utilisateur de choisir les memes noms de variables
devmax
Messages postés47Date d'inscriptionmercredi 13 mars 2002StatutMembreDernière intervention 2 juillet 2007 30 juin 2007 à 14:36
alors voila, j'ai apporté quelques modifs. J'ai modifier db_select pour gérer les multi lignes.
Maintenant sur le db_insert, ne l'utilise pas si c'est pour faire des inserts complexes, ce n'est pas le but de la fonction. Elle sert simplement pour les inserts communs.
J'ai des " effectivement, et si tu regarde de plus près ils sont justifiés par l'utilisation de caractère d'échappements, toutes les autres chaînes utilisent des simples quotes.
db_select gère maintenant les erreurs, mais les autres fonctions renvoi le résultat brut de la fonction, donc chacun peut gérer ses erreurs.
Pour la gestion des exceptions, il doit être compatibles PHP4 donc pas d'exceptions. en revanche j'ai rajouter la gestion des erreurs simples.
Pour la non gestion des erreurs des touch, mkdir et compagnie: il sont utilisés en mode console, les erreurs php sont donc affichées. Je ne veux pas que le script s'arrête sur une erreur. C'est volontaire.
Voila, c'est vraiment quelque chose de minime ! Il ne faut pas chercher à gérer des choses complexes. J'ai fait ça après avoir aider un ami sur un petit projet où un mini cadre applicatif rendé l'appli plus claire.
C'est une sorte d'introduction au framework, il ne faut pas le prendre autrement. Comme je l'ai dit, j'ai un autre framework, bien plus complet !
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 30 juin 2007 à 14:12
bah ca fait deja un beaucoup... et si tu veux N resultats, N etant fonction de ces resultats (tu recuperes tant que ...) bah avec ta fonction, c'est pas possible, idem si t'as des requettes insert values select.... ou des requettes plus compliques...
pour ta fonction insert, par rapport a un query simple, t'as des concatenations en plus, or ca ne simplifie pas beaucoup...
t'as pas de verification pour tes fopen et querys touch et autre
t'as des "
db_select ne gere pas les eventuelles erreurs idem pour toutes tes fonctions sql
devmax
Messages postés47Date d'inscriptionmercredi 13 mars 2002StatutMembreDernière intervention 2 juillet 2007 30 juin 2007 à 13:47
un framework est un cadre applicatif, ce qui est ici le cas. Alors mm s'il y a que deux fonctions d'aide, ça reste un micro framework.
Pour l'optimisation, je vois pas pourquoi tu dis ça. Dans tous les cas tu ferais la même chose. Le seul cas où cette fonction n'est pas optimisée, c'est lorsque tu veux récupèrer la première ligne alors que la requête en renvoie plusieurs (je changerais ça d'ailleurs). Pour le reste elle est tout à fait standard et ne provoque aucun ralentissement.
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 30 juin 2007 à 13:25
alors appelle pas ca framework mais "2-3 ptites fonctions" parce-que la, c'est non seulement petit, mais pas optimise...
devmax
Messages postés47Date d'inscriptionmercredi 13 mars 2002StatutMembreDernière intervention 2 juillet 2007 30 juin 2007 à 13:09
le but n'est pas de faire quelque chose de complet, j'ai bien écrit que c'était minuscule. C'est juste un cadre (framework) avec 2/3 fonctions pour simplifier 2/3 truc. Le but été que ça tienne en un script. J'ai un autre framework, bien plus complet, se rapprochant de cake et compagnie.
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 30 juin 2007 à 12:10
tes fonctions de bdd te limitent a des requettes simples, c'est pas trop optimise, et ca ne gere quasiment rien pour un framework...
t'as aucune getion des Exception, aucune classe, db_fetch_results si tu veux une seule ligne, elles sont quand meme toutes extraites (cote vitesse... bof)
2 juil. 2007 à 18:31
2 juil. 2007 à 15:55
Pour les variables globales, je sais très bien que ce n'est pas un choix conseillé ! Je débute pas en PHP va ! mais ici ça simplifie et la vie de l'utilisateur et la mienne ! parfois il faut savoir sortir des modeles de conception standard (t'inquiete je maîtrise tout mes design patterns...). L'utilisation de variables globales allège le code et simplifie la configuration dans mon cas, puisque tout tient dans un script. Et puis elle sont toutes prefixées d'un underscore, on écrit rarement c'est variable en commençant par un underscore nan ? (sauf dans les classes pour certaines propriétés, mais pas de problème là !)
2 juil. 2007 à 07:14
# {
# $rows[] = $row;
# if($unique) break;
# }
# if($unique) $rows = $rows[0];
avec ca serait mieux comme ca :
if(!$unique){
while($row = $_database_func_fetch($results))
{
$rows[] = $row;
}
return $rows;
}else{
return $_database_func_fetch($results);
}
sinon, avoit tout un tas de variables globales, c'est... pas top, car ca empeche l'utilisateur de choisir les memes noms de variables
30 juin 2007 à 14:36
Maintenant sur le db_insert, ne l'utilise pas si c'est pour faire des inserts complexes, ce n'est pas le but de la fonction. Elle sert simplement pour les inserts communs.
J'ai des " effectivement, et si tu regarde de plus près ils sont justifiés par l'utilisation de caractère d'échappements, toutes les autres chaînes utilisent des simples quotes.
db_select gère maintenant les erreurs, mais les autres fonctions renvoi le résultat brut de la fonction, donc chacun peut gérer ses erreurs.
Pour la gestion des exceptions, il doit être compatibles PHP4 donc pas d'exceptions. en revanche j'ai rajouter la gestion des erreurs simples.
Pour la non gestion des erreurs des touch, mkdir et compagnie: il sont utilisés en mode console, les erreurs php sont donc affichées. Je ne veux pas que le script s'arrête sur une erreur. C'est volontaire.
Voila, c'est vraiment quelque chose de minime ! Il ne faut pas chercher à gérer des choses complexes. J'ai fait ça après avoir aider un ami sur un petit projet où un mini cadre applicatif rendé l'appli plus claire.
C'est une sorte d'introduction au framework, il ne faut pas le prendre autrement. Comme je l'ai dit, j'ai un autre framework, bien plus complet !
30 juin 2007 à 14:12
pour ta fonction insert, par rapport a un query simple, t'as des concatenations en plus, or ca ne simplifie pas beaucoup...
t'as pas de verification pour tes fopen et querys touch et autre
t'as des "
db_select ne gere pas les eventuelles erreurs idem pour toutes tes fonctions sql
30 juin 2007 à 13:47
Pour l'optimisation, je vois pas pourquoi tu dis ça. Dans tous les cas tu ferais la même chose. Le seul cas où cette fonction n'est pas optimisée, c'est lorsque tu veux récupèrer la première ligne alors que la requête en renvoie plusieurs (je changerais ça d'ailleurs). Pour le reste elle est tout à fait standard et ne provoque aucun ralentissement.
30 juin 2007 à 13:25
30 juin 2007 à 13:09
30 juin 2007 à 12:10
t'as aucune getion des Exception, aucune classe, db_fetch_results si tu veux une seule ligne, elles sont quand meme toutes extraites (cote vitesse... bof)