Clever Age - Conseil en architecture technique


mai 02 6

pear, le framework technique de php

Tout comme Microsoft avec ses Foundation Classes ou Perl avec son CPAN [1], PHP dispose depuis peu de PEAR [2], un ensemble de classes et extensions normalisées permettant de mettre en place de façon simplifiée des fonctionnalités standards.

Initié par Stig S. Bakken, un des contributeurs majeurs du PHP Group, le projet PEAR a pour but principal de devenir un entrepôt officiel pour des extensions et scripts PHP de référence.

PEAR est divisé en plusieurs parties ayant des buts complémentaires :

  • Les PEAR Foundation Classes (PFC) sont les classes de base et de référence livrées avec PHP
  • Les autres classes PHP
  • Les extensions en C regroupées sous le nom PHP Extension Code Library (PECL)

Une distinction est en outre en train de se mettre en place entre différents types de composants développés en PHP, suivant qu’il s’agit de simples classes, d’applications complètes, ou de composant destinés à PHP-GTK [3].

PEAR est donc un projet ambitieux, et sa cohérence a tout d’abord nécessité la définition de standards de codage qui obligent tous les développeurs à écrire leur code de la même manière pour qu’il soit lisible et réutilisable par tous. Ces standards inclus en outre la norme d’écriture de commentaires dans le code PHPDoc [4], qui permet de générer automatiquement les documentations d’API des composants.

Un programme permettant de télécharger et installer PEAR et ses différents composants, appelé PEAR installer, est inclus dans la distribution officielle de PHP. Ce programme fonctionne de manière très similaire à l’outil apt de la distribution Debian GNU/Linux.

L’un des composants les plus populaires de PEAR, et déjà utilisé par certains sites en production, est PEAR DB, une abstraction de base de données créée pour ce projet. PEAR DB permet aux développeurs d’écrire du code PHP très simple qui peut être utilisé avec n’importe quel SGBD [5].

PEAR est donc un projet vivant et en perpétuelle expansion, ce qui signifie que les différents composants ne sont pas au même stade de stabilisation. Il faut donc bien étudier chaque composant avant de le mettre en oeuvre pour s’assurer de sa stabilité et de sa pérennité.

A moyen terme, de nombreux projets libres développés en PHP devraient adopter les PFC comme base technique pour s’assurer une compatibilité optimale avec les autres applications. C’est par exemple déjà le cas du framework Horde qui a remplacé une partie de ses bases techniques par PEAR.

[1] Comprehensive Perl Archive Network

[2] PHP Extension and Application Repository : http://pear.php.net/

[3] PHP-GTK est un projet permettant de réaliser en PHP des applications clientes classiques avec interface graphique : http://gtk.php.net/

[4] PHPDoc est une adaptation pour PHP de la norme JavaDoc

[5] Système de Gestion de Bases de Données