FrançaisEnglishRomâneste

Par où commencer

A chaque intégration de techno, je vous le concéde, cela peut devenir lourd d'apprendre 10 000 choses, fonctions, outils, manips et modes opératoires qui foirent 1 fois sur 2. Alors afin d'éviter ce type de désagrément, j'ai fait en sorte de créer une librairie de type plug & play.

Ce qu'il vous faut

  Avant de commencer, faites une vérification de votre environement, afin d'être sûr que ce que vous avez est compatible :

  • PHP 5 ou supérieur
  • Librairie PDO et PDO_MYSQL

Accessoirement afin de facilement générer vos fichiers XSD il vous faudrait Visual Studio 2005, DB Designer ainsi que le connecteur MySQL pour DOTNET.

  1. Connecteur .NET :
    http://dev.mysql.com/downloads/connector/net/5.2.html
  2. fabForce DBDesigner 4
    http://www.fabforce.net/dbdesigner4/

D'ici peu un plugin sera disponnible sous DBDesigner 4 pour générer le fichier XSD sans avoir à passer par Visual Studio.

Installation

Le mieux c'est d'avoir un ancien site ou script à faire évoluer pour tester un peu tout ça. Si vous n'avez pas ce genre de chose sous la main, la démo pdoBlog fera parfaitement l'affaire.

Téléchargez pdoBlog ou pdoMap, puis dézipper dans votre repertoire web.

Si vous utilisez pdoBlog, consultez le fichier readme.txt qui vous permettra de rapidement enchainer sur l'exploitation de la librairie.

Dans le cas contraire, placez le repertoire pdoMap sur le site concerné. Aucune modif à faire, c'est déjà ready to use.

Faire son premier mapping avec Visual Studio

Je part du principe que vous avez déjà d'installé votre base de données, le connecteur MySQL ainsi que Visual Studio 2005 ou 2008. Créez un projet de type Web par exemple. Dans le projet rajouttez un nouvel élément de type dataset.

Lors du choix du nom, utilisez un nom représentatif, il sera utilisé en tant que nom de classe pour le connecteur.

Passez chaque étape de votre wizard - puis vous verrez votre première entitée. Celle-ci n'a qu'une seule fonction permettant de séléctionner les données. Afin de tester, créez d'autres requettes, en spéciant les variables avec "?" - Exemple : SELECT...WHERE...Colone = ?id

Une fois cette étape finie, instanciez la librairie et utilisez les classes.

Comment instancier la librairie

Avec cette librairie prête à l'emploi l'idée c'est d'éviter de se prendre la tête. L'instanciation de votre mapping est transparente, et peut se faire en quelques lignes :

Tout d'abord charger le moteur :

require_once('pdomap/autoload.php');

Modifiez le chemin vers le fichier pdomap/autoload.php en fonction de l'endroit ou vous avez dézippé la librairie.

Définir la connexion aux bases de données :

addConnectionString('pdoblog', 'mysql:host=localhost;dbname=pdoblog', 'root', 'password');

Dans cet exemple nous définissons une connexion pdoblog utilisant : serveur mysql, dont l'adresse est localhost, le nom de la base de données étant pdoblog. L'utilisateur de la connexion est root, avec un mot de passe password. Changez ces paramètres en fonction de vos propres paramètres de test.

L'identifiant de la connexion est pdoblog, celui-ci doit être le même que celui indiqué dans la configuration de votre fichier XSD lors de sa génération sous Visual Studio. Si vous n'utilisez pas le même identifiant, une erreur de connexion vous sera affichée.

Charger le mapping définit dans le fichier XSD :

// INIT MAPPING
if (!loadMap('includes/pdoBlog.xsd')) {
   die('Unable to load mapping !');
}

Utilisez la fonction loadMap(nom de votre fichier) afin de charger le fichier XSD. Une fois celui-ci chargé, vous pourrez commencer à l'utiliser.

L'utilisation du mapping vous sera détaillé dans les autres articles, mais voici un avant goût de comment exploiter ce que vous venez de générer :

$blog = new pdoBlog();
$posts = $blog->posts->Select();
foreach($posts as $post) echo $post->title->get().'<hr />';

Vous instanciez le schéma avec un simple new suivi du nom de votre schéma. Il est similaire au nom de votre fichier XSD. Vous pouvez ensuite accéder à chaque adapter en utilisant le nom définit dans le schéma. Utilisez ensuite le nom d'une des requettes que vous lui avez définit pour en charger les données sous la forme d'un table. La requette par défaut (GetData) est reprise sous le nom Select qui par défaut vous renvoie tous les enregistrements de la base. Dans le modélè vous pouvez accéder aux propriétées par leur nom, puis utiliser les fonctions get ou set par exemple.

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