PEAR::DataObject , générer des objets depuis une BDD - 1ère partie
Vous cherchez à gérer une base de donnée efficacement ?
Vous êtes lassés de vous creuser la cervelle sur vos requêtes SQL?
Vous trouvez trop long les temps de développement Web?
Et bien figurez vous que moi aussi !
Les techniques les plus à la mode pour le développement rapide sont les framework comme Ruby On Rails, CakePHP, Symphony, et j’en passe…
Cependant ces frameworks sont relativement longs à l’apprentissage (surtout si vous choisissez ROR), et il peut vous sembler utile de n’utiliser qu’une librairie.
Qui dit librairie en PHP, dit ZendFramework ou PEAR, mon choix s’est porté sur PEAR.
Voici donc en plusieurs parties comment utiliser les bases de données, créer des applications rapidement en PHP avec PEAR::DataObject.
1. DataObject kézako?
Le module DataObject de la librairie PEAR permet de générer des objets grâce à la récupération de la structure d’une table.
Il vous faut dans un premier temps, installer la librairie PEAR (qui est généralement installée d’office avec PHP), puis d’installer le module DataObject en entrant dans un shell :
pear install DB_DataObject
Une fois les fichiers récupérés, nous pouvons nous attaquer à la création de nos objets!
2. Configurer
Jetons un oeil sur ce qu’a installé notre commande, dans notre dossier PEAR.
Nous avons plusieurs scripts, Generator.php, createTables.php, error.php etc..
Ici, le script qui nous intéresse est createTables.php.
Ma méthode (peu orthodoxe) conciste à copier ce fichier et à le déplacer dans le dossier public_html qui contiendra les sources de mon futur site (ou dossier www d’un serveur wamp sous windows).
Ce fichier est destiné à être appellé en ligne de commande (php createTables.php bla bla bla), cependant j’ai trouvé que cette utilisation n’était pas la plus pratique à la longue, lorsque vous devez générer régulièrement des DataObjects.
Nous devons ensuite créer un fichier de configuration, que j’appelle db_dataobjects.ini, voici celui que je vous montre en exemple :
-
[DB_DataObject]
-
-
database = mysql://root:@localhost/NomDeVotreBDD
-
schema_location = dataobjects/schema
-
class_location = dataobjects/
-
extends_location = DataObject.php
-
require_prefix = dataobjects/
-
class_prefix =
-
debug = 0
-
proxy = full
-
extends_location = DB/DataObject.php
-
extends = DB_DataObject
-
-
[DB_DataObject_FormBuilder]
-
linkDisplayLevel = 2
Hop une fois ce fichier sauvegardé il ne vous manque plus que d’entrer en ligne de commande:
php createTables.php db_dataobjects.ini
ou bien d’insérer cette ligne au début de votre createTables.php que vous avez déplacé:
-
<?php
-
$_SERVER[‘argv’][1] = “/chemin/vers/votre/db_dataobject.php”;
-
?>
Exécutez votre script : http://localhost/projet_pear/createTables.php
Tadaaaaaaaaaa, c’est tout.
Si tout s’est bien passé vous aurez obtenu un dossier dataobject contenant les structures de vos objets pour gérer vos tables etc…
Je vous écris la suite rapidement, promis.

1 - guillaumele 25 mai 2008 à 8:34
merci bien, c’est vrai qu’en essayant de suivre la doc de PEAR à la lettre c’est quand meme plus fastidieux.