Classe abstraite DataBase

codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 - 7 juil. 2007 à 18:50
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 12 juil. 2007 à 11:34
Hello les gens :)
J'ai développé un petit ensembles de classes en php 5, et j'aimerai votre avis :)

Je ne vous le cacherai pas, je me suis énormément basé sur les classes de Malalam (http://www.phpcs.com/codes/PHP5-ABSTRACTION-BDD-STYLE-PDO-AVEC-ITERATEURS-TRANSACTIONS_42818.aspx)

Si j'ai refait ca alors que ca existait, c'est parce que ca m'a permis d'apprendre quelques notions :)
Au niveau des modifs, au lieu de faire une classe sqlIterator, je l'ai directement intégré dans la classe abstraire. C'est principalement les seules modifications.

Avec, il y a une classe factory qui permet d'instancier des classes et de pouvoir récuperer leur instances (Multitron).

J'aimerai savoir ce que vous pensez de l'agencement des classes (les itérateurs dans la classe abstraite, les différentes classes, etc).
Savoir ce qui serait à modifier, etc.

Merci beaucoup :)

Pour les voirs, voici l'url : http://projets.reflectiv.net/classes/

Et si vous pensez que ca vaut le cout, je mettrai une source sur phpcs.com
Merci à vous..

codefalse

3 réponses

audayls Messages postés 373 Date d'inscription samedi 9 juillet 2005 Statut Membre Dernière intervention 11 août 2008
9 juil. 2007 à 12:17
Salut !
Je la trouve chouette ta source =) (C'est le malalam Code en améliorer disons ^^ lol)

Quelques petites remarques :
<li>"
'mysql', BDTYPE,
" BDTYPE a pour valeur "mysql" donc pourquoi tu définis 2 fois le type de base ?</li><li>Tu essayes de séparer les constantes d'erreurs par langue (ce qui est très bien !) mais tu n'as pas séparer les langue dans la class "FactoryException".</li>
For every choice, a consequence (Fable)
0
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
10 juil. 2007 à 00:33
en fait, le premier paramètre dans la classe factory, c'est la nomination que tu veux lui donner, par exemple, tu pourra faire :

Factory::getInstance ('cequejeveux', BDTYPE, array (...));

et plus tard dans le code, récuperer l'instance de BDTYPE au travers de 'cequejeveux'

l'idée là, c'est que du coup, tu peux instancier plusieurs fois la meme classe, par exemple faire :

Factory::getInstance ('image1', 'mygd', array('paramparticuliers1'));
Factory::getInstance ('image2', 'mygd', array('paramparticuliers2'));
pour avoir deux instances avec des parametrse différences d'une meme classe.
J'espere avoir été assez clair :)

Sinon pour la séparation des langues dans la classe factory, je dirai bien ... oopps oubli ! :)

merci de ta réponse :)
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
12 juil. 2007 à 11:34
J'ai regardé CodeFalse, je reviendrai vers toi plus tard ;-) Je n'ai pas franchement le temps de me pencher dessus en ce moment.
A première vue, c'est pas mal. Je suis surpris que tu aies choisi d'intégrer le sqliterator à la classe db, par contre. Je n'en vois pas les avantages. Mais t'as fait des modifs sympas :-) Je regarderai en détail.
0
Rejoignez-nous