Accès aux datas, tranversalité des appels aux données

La version 2.1.1 modifie quelque peu la topographie des fichiers, quant à l’accès aux données, et l’utilisation de l’appel à des données dans des pages ou modules externes au type de données utilisées.

Je m’explique, la class permettant d’accéder et de manipuler les produits a été déportée dans un dossier classes/driver. Il est donc accessible en permanence, au delà des pages spécifiques aux produits.

Cette forme d’écriture, permet de rendre l’accès et la liaison vers les données, et éventuellement leur modification plus synthétique, et centralisée.

L’interface

Un interface a été mis en place pour structurer la base de ces drivers, celui- ci est présent dans class.interface.php.

Interface ModSqlDataDriver {
public static function create($option);
public static function update($option);
public static function fetch($option);
public static function delete($option);
}

Les drivers

Les drivers implémentant cette interface ne contiennent donc que des méthodes publiques statiques. Il est donc simple de pourvoir les utilisés, en faisant référence à la class.

L’ensemble des arguments de ces drivers est composé par des tableaux.

L’appel au produit d’id 5 aura lieu comme suit :

sqlproduct::fetch(array(‘id’=>5, ‘language_id’=>1))

LIAISON AVEC LES MODULES ACA

Les drivers devant gérer les modules aca (produits/cat, post…) intègrent dans le driver l’appel aux actions des modules aca, assurant ainsi leurs prise en charge lors des modifications.

Dans la plupart des cas, il suffit d’utiliser la class ACAFactory pour obtenir la liaison vers ces modules.

Conclusion

A terme, l’ensemble des interactions sur la base de données transitera par ces drivers, afin de simplifier la maintenance, et rendre plus simple les appels.

Ces drivers sont chargés en autoload, et ne nécessitent donc pas d’être requis ou inclus avant utilisation.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *