DBOC 2.0 [AJAX][PHP5]

Messages postés
10918
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
- - Dernière réponse : Morphinof
Messages postés
261
Date d'inscription
vendredi 20 avril 2007
Statut
Membre
Dernière intervention
9 août 2013
- 21 avril 2010 à 14:25
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/46882-dboc-2-0-ajax-php5

Afficher la suite 
malalam
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
17 -
Hello,
j'ai pas suivié tes liens : mon 1er réglexe a été de lire ton descriptif...trop succint et surtout pas du tout descriptif...puis de regarder l'archive...trop de fichiers. Alors ma question avant d'aller plus loin : il fait quoi, ton code???
(Ok, je suis admin CS...donc ma question n'est pas innocente : rien n'indique à quoi sert ta source, pas même ton titre si e n'est qu'il suggère, si on n'est pas un débutant, vaguement de la DB sans en être vraiment sûr...bref, t'es pas très prolyxe! Et là, il est minuit, j'irai pas fouiller ton code, le titre a juste l'air sympa, l'orthographe du descriptif aussi, ça fait sérieux...mais j'ai foutrement aucune idée de ce que fait ton code. Moi, j'irai voire demain...mais tu pourrais quand même faire un effort!)
Morphinof
Messages postés
261
Date d'inscription
vendredi 20 avril 2007
Statut
Membre
Dernière intervention
9 août 2013
3 -
Hello Malalam ;)

Si je n'ai pas beaucoup d?taill? ma description c'est que j'avais d?j? post? une source dans le m?me sens (DBOC 1.6), sauf que la y'a eu une nette ?volution du script vers quelque chose de bien mieu structur? tant au niveau interface que la structure m?me du code.
J'ai ?galement rajout? des ?volution comme la gestion de l'h?ritage et la gestion des clef primaires dans la fonction load() qui charge une ligne de table dans un objet ? partir de ces derni?res et d'autre petites chose du m?me style.

Alors en pratique que fait mon code ? ^^

En fait ce que je viens de poster est l'?volution d'une de ma pr?c?dente source dont le lien dans le descriptif.
En gros l'id'e de d?part c'?tait de recr?er ce que l'on ? en java quand on cr?er une nouvelle classe : le squellette mais en un peu plus ?volu?.

Ici le squelette des classes se base sur des tables d'une base mysql.
Concr?tement, on se connecte ? une base mysql et l'on va g?n?rer le code d'une classe permettant de manipuler des enregistrements que ces tables contiennent, se sont des classes "images" des tables, chaque champ devient un attribut.
Et avec cel? on peu rajouter quelques petites fonctions pr?-impl?ment?es qui vont nous aider ? ajouter/mettre ? jour/supprimer/charger/charger tout,avoir notre enregistrement en xml etc. via notre objet.

Bien entendu cette source ? ses limites, par exemple je n'ai pas utilis? pdo dans mes fonctions pr?-impl?ment? mais ma propre classe d'abstraction qui est tr?s basique et on pourrai discuter de certain de mes choix de programation, mais on peu quand m?me se servir de cette source sans choisir d'impl?menter les fonctions que j'ai ajout?, l'avantage ?tant le gain de temps et le formalisme du code :)

Voila j'esp?re avoir bien r?sum?, mais tu as raison pour quelqu'un qui ne connait pas la source pr?c?dante c'est assez dur de comprednre que par le titre le but de la source ^^
coucou747
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
26 -
salut

ta propre classe d'asbtraction mysql n'abstrait que les connections et requetes, mais pas les extractions de resultats...
conclusion, tu obtiens l'avantage d'avoir un singleton (ou multiton, vu que tu peux __clone), et tu obtiens l'avantage pour la gestion d'Exceptions, mais tu perds un avantage non negligeable : tu es toujours coince sur mysql...

cf while(mysql_fetch_row($result_sql)){
fichier : http://files.codes-sources.com/fichier.aspx?id=46882&f=class%2fClassWriter.php ligne 131

sinon, j'ai pas regarde en detail ton code, mais j'ai lu quelque part que ton code "limitait" les classes generees a TON abstraction sql... pour changer ca, j'imagine qu'il faut modifier le fichier :
http://files.codes-sources.com/fichier.aspx?id=46882&f=class%2fClassWriter.php

t'as une solution propre pour remedier a ca : un MVC : tu fais une interface : "vuesClassSql" et tu fais une interface pour PDO, une pour ta classe d'abstraction, etc... et dans le menu de generation des classes, tu mets un combobox (<select>) qui permette de choisir la vue.

en tout cas, cette source m'a l'air TRES interessante. tu peux peut-etre pousser en faisant deux classes par table : une pour les elements de la table, et une pour une collection de ces elements.

Bref, bonne continuation.
Morphinof
Messages postés
261
Date d'inscription
vendredi 20 avril 2007
Statut
Membre
Dernière intervention
9 août 2013
3 -
Merci Coucou747 ;)

En effet, pour ce qui est des fonctions pré-implémentées elles sont limités à ce singleton, j'ai commencer à regarder un peu ce qui avait été fait en matière d'abstraction mais je pense que le mieu serait ta solution avec pdo je vais commencer à me plonger dans son fonctionnement.
codefalse
Messages postés
1127
Date d'inscription
mardi 8 janvier 2002
Statut
Modérateur
Dernière intervention
21 avril 2009
1 -
Tu fait du bon travail je trouve, mais j'aurai quand meme une remarque.
J'ai pas parcourus tout ton code (j'ai pas le temps l?, j'essayerai plus tard), mais en rebondissant sur ce que dit Coucou, tu devrait utiliser PDO plutot que les fonctions mysql_*.
C'est plus performant et ca t'?vite d'utiliser une couche d'abstraction qui ne ferait que ralentir ton code. Comme PDO est inclus de base dans php > 5 (5.1 si je ne me trompe pas), pourquoi s'en priver ? Et vu que ton code est php5, c'est tout bon ! :)

Je regarderai plus en d?tails ce soir.