Quelles sont les différences entre PECL et PEAR?

138

Je peux voir que la bibliothèque GD est destinée aux images. Mais je ne vois pas de différences entre PECL et PEAR. Les deux ont une authentification. Quelles sont les principales différences entre deux? Pourquoi ne les combinent-ils pas?

tibia
la source

Réponses:

254

PECL signifie PHP Extension Community Library , il a des extensions écrites en C, qui peuvent être chargées dans PHP pour fournir des fonctionnalités supplémentaires. Vous devez disposer des droits d'administrateur, d'un compilateur C et d'une chaîne d'outils associée pour installer ces extensions.

PEAR est l' extension PHP et le référentiel d'applications , il a des bibliothèques et du code écrit en php. Ceux que vous pouvez simplement télécharger, installer et inclure dans votre code.

Alors, oui, ils sont similaires, mais pourtant si différents :)

Anti Veeranna
la source
23
Réponse très claire. J'ajouterais que PEAR est vraiment deux choses: c'est un référentiel de bibliothèques, mais c'est aussi un système de distribution / packaging. À l'origine, le système d'emballage distribuait simplement le référentiel PEAR unique, mais aujourd'hui, le canal de distribution peut être utilisé par n'importe quelle bibliothèque tierce.
troelskn
@troelskn, vous appelez ça un "canal de distribution"? En quoi est-ce différent d'une bibliothèque PHP tomdickharry normale? Allez-vous appeler jQuery un "canal de distribution" aussi?
Pacerier du
@troelskn, En fait, jQuery et tom et harry ont également des protocoles clairement définis. Quelle est la particularité de PEAR qui le rend différent d'eux?
Pacerier
7
@Pacerier La dernière fois que j'ai regardé, jQuery n'avait pas de gestionnaire de paquets. Dans la communauté js, npm semble combler ce vide ces jours-ci (bien qu'il y ait eu d'autres candidats au fil des ans).
troelskn
8

PECL est un référentiel d'extensions C pour PHP. Ces extensions sont généralement installées via la peclcommande, qui est un alias pour pear, avec le canal / référentiel par défaut défini sur pecl.php.net.

PEAR c'est plusieurs choses:

  1. L' installateur de package ( pearcommande) qui est capable d'installer des packages à partir de différents canaux (référentiels), y compris pecl.php.net. Beaucoup considèrent le compositeur comme le successeur de l'installateur de poire.
  2. Le référentiel de paquets http://pear.php.net/packages.php avec ~ 600 bibliothèques. Beaucoup d'entre eux sont installables par compositeur.
  3. Un standard de codage PHP disponible avec PHP_CodeSniffer.
cweiske
la source
On dirait qu'il est plus précis / clair de dire que l'écosystème PEAR comprend une norme de codage?
Zv_oDD
5

pear est une classe php écrite en php alors que pecl est une extension qui n'est pas écrite en php et a besoin d'être compilée.

Hos Mercure
la source
2

PEAR en tant que tel n'est pas une norme de codage. Au lieu de cela, PEAR «suit» une norme de codage établie qui est encouragée au sein de la communauté PHP. Ce n'est cependant pas le seul standard de codage que les utilisateurs PHP peuvent suivre, le ZF, par exemple. recommande une norme légèrement différente.

Juste un autre gars
la source
1

PEAR est également un standard de codage ;-) php_codesniffer (installer via $ pear install php_codesniffer) est un outil qui analysera votre code et montrera où il s'écarte de cela ou de tout autre standard de codage pris en charge.

kguest
la source