Was sind die Unterschiede zwischen PECL und PEAR?

138

Ich kann sehen, dass die GD-Bibliothek für Bilder ist. Aber ich kann keine Unterschiede zwischen PECL und PEAR erkennen. Beide haben Authentifizierung. Was sind die Hauptunterschiede zwischen zwei? Warum kombinieren sie sie nicht?

Schienbein
quelle

Antworten:

254

PECL steht für PHP Extension Community Library . Es verfügt über in C geschriebene Erweiterungen, die in PHP geladen werden können, um zusätzliche Funktionen bereitzustellen. Sie benötigen Administratorrechte, einen C-Compiler und die zugehörige Toolchain, um diese Erweiterungen zu installieren.

PEAR ist PHP Extension und Application Repository , es hat Bibliotheken und Code in PHP geschrieben. Diese können Sie einfach herunterladen, installieren und in Ihren Code aufnehmen.

Also ja, sie sind ähnlich, aber doch so unterschiedlich :)

Anti Veeranna
quelle
23
Sehr klare Antwort. Ich würde hinzufügen, dass PEAR wirklich zwei Dinge ist: Es ist ein Repository von Bibliotheken, aber es ist auch ein Vertriebskanal / Verpackungssystem. Ursprünglich verteilte das Verpackungssystem nur das einzelne PEAR-Repository, heute kann der Vertriebskanal jedoch von jeder Bibliothek eines Drittanbieters verwendet werden.
troelskn
@troelskn, nennst du das einen "Vertriebskanal"? Wie unterscheidet es sich von einer normalen Tomdickharry-PHP-Bibliothek? Nennen Sie jQuery auch einen "Vertriebskanal"?
Pacerier
@troelskn, Eigentlich haben jQuery und Tom and Harry auch klar definierte Protokolle. Was unterscheidet PEAR von ihnen?
Pacerier
7
@Pacerier Als ich das letzte Mal nachgesehen habe, hatte jQuery keinen Paketmanager. In der js-Community scheint npm diese Lücke heutzutage zu füllen (obwohl es im Laufe der Jahre andere Kandidaten gegeben hat).
Troelskn
8

PECL ist ein Repository von C-Erweiterungen für PHP. Diese Erweiterungen werden normalerweise über den peclBefehl installiert , der ein Alias ​​für ist pear, wobei der Standardkanal / das Standard-Repository auf festgelegt ist pecl.php.net.

BIRNE ist mehrere Dinge:

  1. Das Paket Installer ( pearKommando) die in der Lage ist , Pakete von verschiedenen Kanälen (Repositories) zu installieren, einschließlich pecl.php.net. Viele betrachten den Komponisten als Nachfolger des Birneninstallateurs.
  2. Das Paket- Repository http://pear.php.net/packages.php mit ~ 600 Bibliotheken. Viele von ihnen können vom Komponisten installiert werden.
  3. Ein PHP- Codierungsstandard , der mit PHP_CodeSniffer verfügbar ist.
cweiske
quelle
Sie möchten genauer sagen, dass das PEAR-Ökosystem einen Kodierungsstandard enthält?
Zv_oDD
5

pear ist eine in PHP geschriebene PHP-Klasse, während Pecl Erweiterungen sind, die nicht in PHP geschrieben sind und kompiliert werden müssen.

Hos Mercury
quelle
2

PEAR als solche ist kein Kodierungsstandard. Stattdessen "folgt" PEAR einem festgelegten Codierungsstandard, der innerhalb der PHP-Community empfohlen wird. Dies ist jedoch nicht der einzige Codierungsstandard, dem PHP-Benutzer folgen können, der ZF, z. empfiehlt einen etwas anderen Standard.

Nur ein anderer Typ
quelle
1

PEAR ist auch ein Codierungsstandard ;-) php_codesniffer (Installation über $ pear install php_codesniffer) ist ein Tool, mit dem Sie Ihren Code und Ihre Hilight scannen können, wenn er von diesem oder einem anderen unterstützten Codierungsstandard abweicht.

kguest
quelle