osCSS2 DB class abstract , db usage

Une couche d’abstraction des db prend en charge les échanges entre les serveur sql et le core.

Cette couche et maintenant centralisé dans un class avec un drivers mysql dispo . Elle reprend une partie du travail de typolight, et les class drivers de typolight  sont compatible.  Seul la class d’abstraction principal à été retouché.

La retrocompatibilité est assuré par le bias d’une lib de function dans le rep common, nommé database, et convertis les appel de tep_db vers la class. Toutefois, il est fortement recommandé d’utiliser directement la class plutôt que les fonctions, pour un gain de performance.

Objectif

L’objectif de cette évolution et de permettre d’utiliser des base de donnée autres que mysql.  De plus elle est centralisé entre l’admin et la boutique.  Enfin elle intégre des class d’abstraction au donnée rendants plus facile l’exploitation des retours de la db

Generalité

La class est centralisé dans common, et intégre uniquement (pour l’heure) un driver pour mysql.  Les appels public et privé sont scrupuleusement les même. La connexion avec la db  est initialisé dans les application_top.

Elle fonctionne en singletown , et donc ne peut être insctancié 2 fois.

Usage

L’objet se nomme $DB, est est disponible dans tous l’apllication. cependant pour eviter de devoir transmettre cet var a travers toute l’appli, il est possible de recupérer l’object via cette commande:

$objt=Database::getInstance();

L’ensemble des requetes passe par cet object, ex:

$objres=$objt->query(« SELECT * FROM table »);

Tous les retour de la db sont sous forme d’object

Pour obtenir un tableau associatif, utilisé le l’objet resultat  de la requete query

$objres->fetchAssoc();

Pour compter le nombre de retour , exploiter la methode __get()

$objres->__get(‘NumRows’);

Tags : , , , , , , ,

Les commentaires sont fermés.