Retrouvez cet article dans : Linux Pratique 32
Qu'est-ce que PEARÂ ?
PEAR est l'acronyme de PHP Extension and Application Repository. C'est un projet communautaire dont la fonction est de fournir aux utilisateurs de PHP une librairie structurée de code source libre. Le site officiel de PEAR se trouve à l'adresse suivante : http://pear.php.net/ Dans PEAR, le code est sous forme de packages. Chaque package est un projet séparé, mais peut inclure des dépendances avec d'autres packages (tout comme les paquets Debian par exemple). Les packages sont distribués sous forme d'une archive tar, compressée, contenant entre autres, un fichier XML de description. Tous les packages PEAR sont enregistrés et classés dans une base de données centrale se trouvant sur http://pear.php.net/ (Fig.1). Vous pourrez y trouver aussi des packages d'autres origines, mais toujours de source libre.
Fig. 1
Comment installer les librairies PEARÂ ?
Installation du gestionnaire
Si vous disposez d'une version récente de PHP (> 4.3.0), vous avez certainement déjà installé le paquet correspondant au gestionnaire. Par exemple, sous Debian, il s'agit du paquet php4-pear. Si vous utilisez une version PHP 4.2.x ou plus ancienne, l'installation du gestionnaire est différente, je vous invite à consulter la documentation sur le site officiel. Si votre site est hébergé sur un serveur mutualisé et que vous ne disposez d'aucun accès au système (via les protocoles Telnet, SSH, etc.), vous ne pourrez pas utiliser le gestionnaire de PEAR. Mais en général, les hébergeurs font en sorte d'installer les packages PEAR les plus courants.Installation des packages
Installation automatique
L'installation par ligne de commande est la procédure la plus simple pour ajouter des packages PEAR sur votre système : une connexion est initiée vers le serveur de paquetages de PEAR via le protocole HTTP, le package est téléchargé sur votre système et installé à l'endroit désiré. L'installation en ligne de commande est très simple à utiliser. Lancez simplement cette commande :$ pear install nom_packageUne liste des packages disponibles se trouve à l'adresse http://pear.php.net/packages.php Mais vous pouvez également afficher cette liste via la commande :
$ pear remote-listSi vous n'avez pas installé le gestionnaire de librairies, il vous faudra effectuer une installation manuelle.
Installation manuelle
L'installation manuelle est très simple :- Repérez le package de la librairie qui vous intéresse, sur le site officiel. Cliquez sur la librairie en question, puis lorsque vous vous trouvez sur la fiche descriptive, cliquez sur le lien de la dernière version (rubrique Current Release).
- Téléchargez le fichier .tgz (dans un dossier temporaire).
- Veillez à contrôler si la librairie qui vous intéresse dépend d'autres librairies, auquel cas, il faudra également télécharger les .tgz des dépendances. Les dépendances d'une librairie sont indiquées dans l'onglet Download, colonne Informations, rubrique Dependencies.
- Il vous faut ensuite extraire le contenu des archives (toujours dans le répertoire temporaire).
- Déplacez ensuite les fichiers obtenus sur votre serveur web (via FTP ou autre), dans un répertoire que vous aurez dédié à ces librairies.
- Modifier la directive
include_path, afin qu'elle contienne le chemin d'accès aux fichiers que vous venez de déplacer.
<?php
ini_set("include_path", '/mon_site.com/mes_librairies/' . élément_separateur . ini_get("include_path"));
?>
Une fois l'installation terminée, les fonctions propres à la librairie peuvent être utilisées dans vos scripts PHP.
Utiliser une librairie : exemple de PEAR::DB
À quoi sert PEAR::DB ?
La librairieTéléchargement et installation
<?php phpinfo() ?>Celui-ci comporte un tableau contenant, entre autres, la liste des directives PHP (Fig. 2). À la ligne

Fig. 2
Création d'une base de donnée
Pour illustrer l'utilisation de la librairie DB, nous allons créer rapidement une base de données fictive, à l'aide de PhpMyAdmin. Je crée une base appelée "ÂScript PHP permettant d'interroger la base de données
À présent, nous allons créer un script, utilisant la librairie DB, qui va nous permettre d'interroger la base de données que nous venons de créer. Ce script est le suivant :<?php
ini_set("include_path", '/var/www/includes/:' . ini_get("include_path"));
require_once "DB.php";
$db = DB::connect('mysql://toto:titi@localhost/base_test');
if (DB::isError($db)) {
die($db->getMessage());
}
$res = $db->query('SELECT * FROM mytable');
$numrows = $res->numRows();
echo "Nombre de résultats: " . $numrows . "<br>";
while ($row = $res->fetchRow(DB_FETCHMODE_ASSOC)) {
echo "<pre>";
print_r($row);
echo "</pre>";
}
?>
- Tout d'abord, on modifie la directive
include_path, à l'aide de la fonctionini_set(), qui permet de changer la valeur d'une option de configuration. La nouvelle valeur deinclude_pathsera prise en compte durant toute l'exécution du script. La directiveinclude_pathreprend sa valeur par défaut dès la fin du script. La fonctioniniget(), quant à elle, retourne la valeur de l'option de configuration. La concaténation des deux (via le point) permet de prendre en compte les valeurs précédentes ET cette nouvelle valeur. - Puis, on appelle la librairie DB à l'aide de la commande
require_once. - La fonction
DB::connect()permet de se connecter à une base de données. Elle nécessite un DSN (Data Source Name) en tant que premier paramètre, qui peut être soit une chaîne, soit un tableau. Sous forme de chaîne, les paramètres de connexion sont à déclarer de la façon suivante :DB::connect(type_de_base://username:password@protocole+hostname/nom_de_la_base)
Cette fonction retourne un nouvel objet DB ou un objetDB_Erroren cas d'erreur. - On teste ensuite si
$dbest une erreur de type DB, auquel cas un message d'erreur est envoyé et le script est interrompu. La fonctionDB::isError()détermine si une variable est un objetDB_Errorou non. - On applique ensuite la méthode
query()sur$db(qui est un objet DB). La méthodequery()admet en paramètre une requête SQL. On demande ici à sélectionner tous les enregistrements de la table "ÂmytableÂ". DB_result::numRows()retourne le nombre d'enregistrements qui correspondent à la requête(ou un objetDB_Erroren cas d'erreur). On affecte à la variable$numrowsla valeur qui est retournée, valeur qui apparaîtra donc à l'écran via la commandeecho.- Nous entamons ensuite une instruction conditionnelle du type " tant que (condition) exécute les instructions ". La fonction
DB_result::fetchRow()retourne une ligne de données depuis la liste des résultats (représentée ici par$res), puis déplace le pointeur de résultats à la ligne suivante.

Fig. 3

Fig. 4
Conclusion
Comprenez bien que les fonctions- Manuel (très détaillé !) d'utilisation de PEAR et des librairies : http://pear.php.net/manual/fr/
 Retrouvez cet article dans : Linux Pratique 32





Donnez votre avis
Vous devez avoir ouvert une session pour écrire un commentaire.