Salut,
J'ai pas fait de patch parce que, bon, effectivement c'est pas très
evident ! Par contre, il me semble qu'avec très peu de modifications
on pourrait arriver à faire qqch qui permettra d'avoir toute fonction
faisant appel à une base dans un seul module ou classe. La plupart du
boulot a déjà été fait.
Je dois avouer que j'ai pas fait beaucoup avec php, et je voulais
comprendre le pourquoi de quelques décisions qui ont été prises. Si
c'est juste "parce qu'on a fait comme ça", tant mieux, mais il se peut
qu'il y a des subtilités qui m'echappent...
Je comprends qu'avec php4 on a ni classes abstraites, ni interfaces.
Donc pour l'instant il faudra probablement les oublier. Mais je ne
vois pas trop l'intérêt d'extendre une classe juste pour affecter
quelques valeurs. Il y a des avantages par rapport à un constructeur
paramétrique (français ?) ? Les classes DB et DBocs pourront dans ce
cas disparaître...
Les appels à la fonction mysql_free_result ont l'air d'être des
bugfixes - l'ajout d'une fonction free_ressources à DBMysql et le
remplacement de ces appels laissent que trois modules qui font appel à
des fonctions mysql - xml.class.php, install.php, et (les) update.php.
J'ai raté qqch ? Pour moi, la modification de ces fichiers pour
utiliser un DBMysql paramétrique est minime.
Ensuite, on pourrait (ou plutôt *je* pourrais ;-)) écrire une fonction
qui retourne l'objet DBMachin qui va bien (par rapport à un fichier
config écrit au moment de l'installation).

L'avantage de cette solution est évidente - elle est rapide et elle
change pratiquement rien dans la logique du programme. Dans ce cas, on
pourrait garder mysql comme la seule base officiellement supportée,
mais il sera facile d'intégrer d'autres bases - et surtout ce sera pas
votre problème ! Il pourrait y avoir un répertoire contrib dans la
distribution... ou pas !
Que est-ce que vous en pensez ? Je le tente, ou ça vous semble pas bon du tout ?
Cheers
Antoine

--
This is where I should put some witty comment.

_______________________________________________
Glpi-dev mailing list
[email protected]
https://mail.gna.org/listinfo/glpi-dev

Reply via email to