TUTORIELS 
Présentation de PEAR
Le PHP Extension and Application Repository est une archive de composants PHP réutilisables et un projet majeur de la communauté PHP. Introduction.-->  (22 octobre 2002 )
 

PEAR ("poire") est décrit comme étant le "fruit" de PHP. A savoir, PEAR (pour PHP Extension and Application Repository) est à PHP ce que CPAN est à Perl et CTAN à TeX: une archive stockant de la façon la plus exhaustive possible des programmes, des macros et de la documentation. Son but est de fournir aux développeurs de bibliothèques/modules PHP un moyen d'organiser leur code PHP ou C d'une manière définie et partagée par les autres développeurs, ainsi que d'offrir à la communauté PHP une seule source pour ces ressources.
En bref, c'est une architecture et un système de distribution pour composants PHP réutilisables.

Créé au début de l'année 2000 par Stig Bakken, PEAR est rapidement devenu populaire auprès des développeurs, et est maintenant un projet majeur de la communauté PHP, avec de nombreux participants qui travaillent à implémenter des fonctionnalités réutilisables pour le bénéfice de la communauté. PEAR inclut aujourd'hui une grande variété de classes pour la gestion de base de données, le caching de contenu, les calculs mathématiques, le e-commerce, les Web Services et bien d'autres choses. Une archive équivalente, PHPLib, a été incluse dans PEAR depuis plus d'un an, lui amenant de nombreuses classes bien pensées et testées.

PEAR répond à des problèmes précis: beaucoup d'archives existaient, mais le code n'y était que rarement structuré. De même, il devenait nécessaire de concevoir une architecture pour construire des extensions C à part entière, et d'avoir des outils pour simplifier/automatiser la mise en place/mise à jour d'un projet. PEAR a été créé pour construire une communauté autour d'un même projet, et pour avoir une meilleure intégration à PHP.

Pour parvenir à ce but, PEAR se base sur un standard de programmation assez strict, qui permet d'une part d'améliorer la collaboration entre développeurs (chacun écrit son code de la même manière), et d'autre part de permettre à l'utilisateur de comprendre rapidement ce que fait un code donné.

Ainsi, la forme de base d'une classe est comme suit:

<?php
/* +----------------------------------------------------------------------+
// | PHP Version 4 |
// +----------------------------------------------------------------------+
// | Copyright (c) 1997-2002 The PHP Group |
// +----------------------------------------------------------------------+
// | This source file is subject to version 2.02 of the PHP license, |
// | that is bundled with this package in the file LICENSE, and is |
// | available at through the world-wide-web at |
// | http://www.php.net/license/2_02.txt. |
// | If you did not receive a copy of the PHP license and are unable to |
// | obtain it through the world-wide-web, please send a note to |
// | license@php.net so we can mail you a copy immediately. |
// +----------------------------------------------------------------------+
// | Authors: Jean Depont <jean@dupont.fr> |
// +----------------------------------------------------------------------+
//
// $Id: Ma-Classe.php,v 0.05 2002/10/17 12:45:17 jd $
//
// Description de la classe
//
require_once "PEAR.php";

class Ma_Classe extends PEAR
{
    /**
    * Private class variable.
    * @var $_str
    */
    var $_str;

    /**
    * Ici, la documentation du constructeur.
    *
    * @param string $str    Un chouette paramètre de type "chaîne".
    */
    function Ma_Classe($str)
    {
        $this->PEAR();
        $this->_str = $str;
    }

    /**
    * Destructeur
    */
    function _Ma_Classe()
    {
        $this->_PEAR();
    }
}
?>

Ce standard de codage est considéré comme étant le plus propre et le mieux conçu pour PHP, et sa bibliothèque de classes est d'une excellente qualité. Les plus connues sont :
- PEAR::DB: bibliothèque d'abstraction de base de données permettant de gérer facilement plusieurs appels à différentes base de données (MySQL, PostgreSQL, Oracle, ODBC...).
- PEAR::SOAP et PEAR::XML_RPC, et toutes les possibilités qu'elles offrent, comme la classe SOAP_Google.
- PEAR::XML_Parser , très utile, et PEAR::XML_Transformer, qui permet d'attacher des fonctionnalité PHP à des balises XML.

Beaucoup d'autres sont disponibles sur le site officiel...
Un installateur automatique de PEAR existe pour ceux qui ont déjà PHP installé sur leur machine: go-pear.

Bien entendu, tous les projets PHP ne pourront pas forcément bénéficier de PEAR, soit par décision de garder un code réduit, soit par choix de travailler avec sa propre architecture logicielle pour plus de sécurité. C'est le plus souvent le cas pour les projets commerciaux.
Mais pour les projets qui peuvent se le permettre, utiliser PEAR peut grandement réduire le travail à fournir pour parvenir à un résultat, tout en ouvrant de nouvelles possibilités. Si l'utilisation de PEAR n'est pas toujours envisageable, du moins les développeurs y gagneraient à ajouter à leur trousse à outils ce nouveaux standard d'écriture pour un code propre et réutilisable.

Nous reviendrons prochainement sur PEAR pour un examen plus approfondi.

 
[ Xavier Borderie JDNet
 
Accueil | Haut de page