ATOMIK FRAMEWORK

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 - 30 juin 2007 à 12:10
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 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.

https://codes-sources.commentcamarche.net/source/43289-atomik-framework

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
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és 47 Date d'inscription mercredi 13 mars 2002 Statut Membre Derniè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és 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
2 juil. 2007 à 07:14
# while($row = $_database_func_fetch($results))
# {
# $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
devmax Messages postés 47 Date d'inscription mercredi 13 mars 2002 Statut Membre Derniè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és 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
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és 47 Date d'inscription mercredi 13 mars 2002 Statut Membre Derniè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és 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
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és 47 Date d'inscription mercredi 13 mars 2002 Statut Membre Derniè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és 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
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)
Rejoignez-nous