FrançaisEnglishRomâneste

Introduction à pdoMap

La librairie pdoMap permet d'encapsuler les entitées d'une base de données sous la forme d'objets. Les interactions entre les données et le moteur SGBD se font à travers cette librairie qui utilise la librairie PDO en tant que layer de connexion et de requettage.

Encore un autre moteur de mapping ?

Il existe actuellement de plus de plus d'outils permettant de générer du code ou des classes, faire du mapping de données, fonctionnant plus ou moins bien. Pourquoi proposer alors pdoMap qui ne serais qu'un parmi d'autres.

Et bien non - pdoMap est bien différent que tous ces générateurs ou outils configurés sur une base XML. Sa différence réside dans le fait qu'il est le seul à générer son code à partir d'un schéma de base de données écrit au format XSD.

C'est bien là toute la différence avec sqlMap ou d'autres clônes, mais cette différence est lourde de conséquences.

Pourquoi pdoMap repose sur le format XSD ?

1 - Petite intro :

Le format XSD est un format standardisé par le W3C prévu afin de définir la structure d'un document XML. Sa syntaxe est orientée afin de définir de manière structurée le format d'un fichier XML qui lui-même n'est qu'une représentation des données. Pour en savoir plus sur le format XSD je vous encourage à lire cet article : http://fr.wikipedia.org/wiki/XSD

2 - En quoi le XSD est interessant dans ce projet :

Pour résumer, un format d'échange standard, décrit en détails par le W3C, permettant de définir la structure des données sans oublier la notion relationnelle, il est donc parfait pour mapper des bases de données relationnelles.

Sans oublier : qui dit format standardisé W3C dit forcément une multitude de logiciels pour le prendre en charge.

Mapping, mais pas que ...

Bon, cet outil permet de faire la correspondance entre les propriétés de mon objet et les champs de la base, on peut résumer cela par de la sérialisation et désérialisation de données dans la base directement.

Le but du mapping c'est de créer une couche intermédiaire entre les données utilisées par le programme, la communication avec le serveur et la structure des bases de données. Du coup ca aide, mais ce n'est pas suffisant.

Prennez SQL Server ou Oracle, les procédures stockées permettent de réduire la définition de requettes spécifiques à la structure des données. Sous MySQL nous en sommes aux prémices, mais ce n'est pas encore suffisant.

Encapsuler les requettes

C'est à ce moment que le choix du format XSD prend tout son sens. Sous Visual Studio 2005 vous avez la possibilité de créer un dataset, fichier au format XSD définissant la structure de la base de données que vous souhaitez. C'est une des nombreuses fonctionnalités RAD de cet outil afin de générer rapidement un mapping. Vous définissez un dataset qui correspond à la structure de l'entitée mappée, et un data adapter qui stocke les fonctions permettant de charger ce dataset.

Pour résumer la librairie pdoMap vous permet d'utiliser exactement ce type de mapping sous l'environement PHP en utilisant ce type de fichier XSD, éliminant ainsi le problème de stockage des requettes dans un niveau différent du mapping.

Posted on 2008-05-03 by Akhenathon  |  0 comments