[MYFRAMEWORK] - CLASS SQL

Messages postés
511
Date d'inscription
jeudi 28 mars 2002
Statut
Membre
Dernière intervention
13 mai 2009
- - Dernière réponse : mckael
Messages postés
1
Date d'inscription
mardi 17 octobre 2006
Statut
Membre
Dernière intervention
17 octobre 2008
- 17 oct. 2008 à 17:11
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/44452-myframework-class-sql

Afficher la suite 
cs_stailer
Messages postés
511
Date d'inscription
jeudi 28 mars 2002
Statut
Membre
Dernière intervention
13 mai 2009
1 -
En l'état, tu as développé une classe qui facilite l'accès à mysql. C'est tout. Ca n'a rien à voir le principe de fonctionnement d'un framework. Et ce n'est pas non plus une classe d'abstraction, puisque ta classe n'est pas indépendante de la base de données. On ne peut pas se connecter à une base SQLite ou SQL Server par exemple.

Enfin, tu dis que la 1ère étape de cette création est de créer un module pour la base de données... n'oubli pas que l'on peut avant tout utiliser un framework sans aucune base de données. Juste utiliser sa "méthode de travail", qui est le MVC généralement, ou l'approche "composant" (voir Prado par exemple).
malalam
Messages postés
10843
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
17 -
Hello,

oui, j'appuie ce que vient de dire Stailer (et je ne le répête donc pas).
Il y a des trucs que je ne pige pas, dans ton code :
- déjà, ta fonction file_put_contents_plus(). Si le but est d'écrire dans un fichier en utilisant la méthode d'ouverture en ajout, sache que file_put_contents() le fait aussi.
- je ne vois pas l'intérêt de ta classe Object. Si c'est juste pour avoir une classe capable de logger, exterieure à n'importe quelle autre classe, ok...mais elle est très incomplète. Elle devrait permettre des input et des outpout différents. Et donc, se servir d'abstractions au-dessus d'elle encore. ET ne pas s'appeler "Object" ;-)
- je n'ai jamais été fan des méthodes émulant une clause where, ou autre. Je préfère monter mes requêtes comme bon me semble. C'est souvent plus compliqué à utiliser...et puis, une requête complexe que l'on construit, on peut ainsi la tester dans un outil dédié à notre base de données, puis la copier coller dans le code, au moins. Là, c'est plus compliqué...
- tu aurais mieux fait de passer par des préparations de requêtes, et de travailler sur la façon dont les résultats sont retournés, ce qui me semble plus intéressant. Il n'y a qu'à voir ce que propose PDO : pas d'émulation de like, ou de where...mais plusieurs façons de récupérer un résultat, et plusieurs façons de préparer des requêtes.
cs_nico1610
Messages postés
402
Date d'inscription
jeudi 26 août 2004
Statut
Membre
Dernière intervention
19 juin 2009
1 -
Bon alors,
les classes données ici ne sont pas la totalité du framework, mais il me paraissait important de commencer par là.
Ensuite, pour le moment je n'ai pas appris a utiliser que MySql d'ou le faite que cette classe n'utilise que ca.

Pour la classe Object elle est encore incomplète, comme je te l'ai dit, c'est une ébauche.

Pour finir le framework que je bosse utilisera le principe MVC que je commence a bien comprendre.
Il faudra donc attendre les autres sources pour commencer a voir le framework. Ces classes n'étaient qu'un prélude.
cs_stailer
Messages postés
511
Date d'inscription
jeudi 28 mars 2002
Statut
Membre
Dernière intervention
13 mai 2009
1 -
bon pourquoi pas, mais je voudrais insister sur le fait qu'il est important que ton framework propose une abstraction à une base quelconque et non le figer à Mysql.

Ce que tu pourrais faire pour améliorer un peu tout ça, c'est de modifier ta classe en utilisant le driver générique PDO de Php5 . Ceci permettra au développeur de choisir un pilote (mysql, sql server etc...). Ca va te demander de revoir pas mal de choses et un peu de boulot, mais ça vaut le coup.
cs_nico1610
Messages postés
402
Date d'inscription
jeudi 26 août 2004
Statut
Membre
Dernière intervention
19 juin 2009
1 -
Ok, merci pour le conseil, je vais faire quelque recherche la dessus.