PEAR est l'abbréviation de " PHP Extension and Application Repository " et se prononce 'père' (NDT : pear veut dire poire en Anglais). La mission de PEAR est de fournir :
Une librairie structurée de code source libre pour les utilisateurs de PHP
Un système de distribution du code source et de maintenance des paquets.
Un style de codage pour les programmes écrit en PHP, spécifié là
Une bibliothèque d'extensions de PHP (PECL - PHP Extension Code Library), voir détails ci-dessous
Un site Web, des listes de diffusion et des sites mirroirs pour supporter la communauté PHP/PEAR
PEAR est un projet communautaire conduit ses développeurs. Les corpus régissants PEAR sont répartis en 3 : le PEAR Group, collectifs, et un président. La constitution de PEAR (adoptée en Mars 2007) définissant ces groupes est documentée ici. Le projet a été créé par Stig S. Bakken en 1999 et depuis beaucoup de personnes l'ont rejoint.
La mission de PEAR est de fournir des composants réutilisables, diriger l'innovation en, fournir de bonnes pratiques en développement PHP et former les développeurs.
Dans PEAR, le code est séparé en "paquets". Chaque paquet est un projet séparé, avec sa propre équipe de développement, son numéro de version, son cycle de publication, sa documentation et une relation bien définie avec les autres paquets (incluant les dépendances vis-à-vis d'autres paquets). Les paquets sont distribués sous la forme d'une archive tar compressée (gzip), comprenant un fichier de description du paquet, et sont installés sur votre système local à l'aide du script d'installation de PEAR.
Les paquets peuvent être liés entre eux par des dépendances explicites, mais il n'y a pas de relation automatique entre des paquets ayant une base commune pour leur nom. Par exemple, "HTTP_Post" est par défaut indépendant de "HTTP". Mais les dépendances entre paquets avec des noms similaires ne sont pas interdites et existent. Prenons comme exemple le paquet "DB_DataObject" qui dépends du paquet "DB".
Un guide de style de codage, la 'Convention de Codage PEAR' (PEAR Coding Standards, PCS en abrégé), existe pour aider la collaboration entre les développeurs de PEAR, pour renforcer la qualité, et pour renforcer un aspect visuel cohérent de tout le code source distribué sous forme de paquet PEAR.
Tous les paquets PEAR sont enregistrés et chargés sur pear.php.net. Les autres serveurs (third-party) appelés "channels" distribuent aussi des paquets qui peuvent être installés avec l'intalleur de PEAR, voir la liste des canaux (channel) pour plus d'information. pear.php.net n'est pas responsable pour les paquets provenant de ces canaux et supporte uniquement les paquets distribués depuis pear.php.net.
Pear.php.net fournira aussi bien une interface conviviale pour les personnes (HTML), qu'une interface pour les machines (actuellement REST) pour accéder aux paquets disponibles sur pear.php.net. Toute la communication se produit au travers du protocole de HTTP. Les autres fonctions qui seront fournies par pear.php.net sont :
Gestion des comptes utilisateurs (indépendant du serveur CVS)
Gestion des paquets
Gestion des releases
Les paquets sont distribués sous la forme d'une archive tar compressée (gzip) contenant un fichier XML de description. Ce fichier (package.xml) contient les informations sur le package, la liste des fichiers et leurs rôles, ainsi que les dépendances.
PECL
PECL (prononcer "piqueule") est un projet distinct de PEAR pour distribuer les extensions de PHP (code écrit en C et compilé, tels que l'extention PDO). Les extensions PECL sont aussi distribuée en paquets et peuvent être installés avec l'installeur de PEAR installer with the pecl command. De fait, avoir un lieu où déplacer les extensions actuelles de PHP a été l'une des motivations lors de la création de PECL. Les extensions dans PECL suivent la convention de codage PHP plutôt que celle de PEAR, mais elles sont distribuées et installées comme des paquet PEAR.
Le processus de déplacement d'une extension de PHP vers PECL est apellée "pickling".
Plus d'informations et tous les paquets PECL peuvent être trouvés sur la page d'accueil de PECL.