PEAR steht für PHP Extension and Application Repository. Zusammen mit dem Schwesterprojekt PECL stellt es die offizielle Anlauf- und Sammelstelle für Erweiterungen der Scriptsprache dar.
PEAR ist ein Framework und Distributionssystem für wiederverwendbare PHP-Komponenten.
https://pear.php.net
Das Konzept: Objektorientiertes Programmieren (also das arbeiten mit Klassen und Objekten) wirbt für sich mit der Wiederverwendbarkeit des Quellcodes. Damit nun nicht jeder Programmierer beispielsweise seine eigene Datenbankklasse programmieren muss, veröffentlicht man fertige Klassen auf der Webseite, damit andere sie nutzen können.
Für Programmierer, die diese Quelle nutzen, bietet das einige Vorteile:
- Komplizierte Anwendungsteile müssen nicht zeitaufwendig neu entwickelt werden
- Der eingesetzte Code muss keine Testläufe mehr über sich ergehen lassen – er wurde von den Maintainern der Bibliothek bereits ausführlich getestet. Sollte doch einmal ein Bug gefunden werden, beheben Updates diesen ohne großen Aufwand.
- Durch einheitliche Programmierrichtlinien und APIs wird Collaboration vereinfacht
- Man muss nicht zwangsläufig verstehen, wie etwas funktioniert, um es zu benutzen – und kann trotzdem darauf vertrauen, dass es funktioniert
Neu ist diese Idee übrigens nicht – bei der Entwicklung von PEAR hat man sich beispielsweise an Perls CPAN orientiert.
Die Installation
Um PEAR zu installieren, gibt es je nach Situation zwei empfehlenswerte Wege:
Installation mit direktem Zugriff auf den Server
Hat man direkten Zugriff auf den Server und wurde PHP ohne den –without-pear Flag übersetzt, so steht in der Kommandozeile der Aufruf pear zu Verfügung. In einigen Distributionen wird PEAR als eigenes Paket ausgeliefert, hier hilft der Paketmanager.
In der Regel ist keine weitere Arbeit nötig. Wenn allerdings kein Zugriff auf den root-Account besteht, ist es eine Überlegung wert, eine lokale Installation anzulegen. Das geht mit dem Befehl
$ pear config-create <installationsziel> <konfigurationsdatei>
Nach der Installation muss man darauf achten, die Umgebungsvariable $PATH
entsprechend zur Installation anzupassen.
Ist PEAR wiedererwarten nicht im Paketmanager vorhanden, kann man das Script go-pear verwenden – es kann in der Shell per php go-pear gestartet werden. Alternativ hat dieses Script auch ein Webfrontend, das beim Aufruf im Browser gestartet wird:
Installation per go-pear
Hat man keinen Shellzugang zum Server, hilft go-pear weiter. Kopiert man dieses Script auf den Server und lädt es im Browser, startet eine geführte, lokale Installation.
Achtung: Vor der Installation sollte darauf geachtet werden, dass PHP in dem entsprechenden Verzeichnis Schreibrechte hat (Siehe „chmod“). Außerdem sollte es per Passwort geschützt werden, zum Beispiel bei Apache mit einer .htaccess-Datei. Am Besten sollte dieser Schutz eingerichtet werden, bevor die Installationsdatei in den Ordner überspielt wird!
Nach der Installation ist im Installationsverzeichnis ein komfortables Webinterface vorhanden, über das man weitere Pakete installieren kann.
Weitere Schritte
Hat man PEAR nicht in ein Standardverzeichnis installiert, muss man in der Konfiguration des PHP Interpreters noch das korrekte PEAR-Verzeichnis einstellen. Dazu stellt man entweder in der php.ini direkt die Variable include_path ein oder setzt diese Variable zur Laufzeit per ini_set: PHP
ini_set('include_path', '<installationsverzeichnis>'. PATH_SEPARATOR.ini_get('include_path'));
Klassen suchen und einsetzen
Damit ist die PEAR Installation einsatzbereit. In der Praxis gilt es nun, passende Klassen zu bestimmten Aufgaben zu suchen.
Klassen installieren
Hierfür kann man zum einen den Client verwenden, in dem man pear ausführt. Im hierfür geeigneteren Webfrontend kann man Scripte nach dem suchen auch direkt komfortabel installieren.
Die andere Möglichkeit ist, sich auf der Paketübersicht der Webseite schlau zu machen. Sie bietet die Klassen kategorisiert als Übersicht an. Zu jeder Klasse existiert eine Beschreibung sowie eine Dokumentation, die zumindest die Schnittstelle zur Klasse erläutert. Hat man sich für einen Download entschieden, empfiehlt es sich aber auch auf diesem Weg, zur Installation auf den Manager zurückzugreifen. Hierzu reicht es, in der Shell
$ pear install <name>
zu starten (respektive im Webinterface die Installation auszuwählen).
PEAR installiert die Klasse dann automatisch in ein entsprechendes Unterverzeichnis der Installation.
Damit das funktioniert, muss PHP mit der zLib kompiliert sein. Notfalls kann man die Klassen auch einzeln von der Webseite herunterladen – dann gilt es allerdings, Abhängigkeiten (durch durchforsten der Datei package.xml oder durch trial & error)
händisch aufzulösen.
Klassen nutzen
Um diese Klassen nun einsetzen zu können, muss man sie in Scripten einbinden. Da PEAR die einzelnen Klassen entsprechend der Kategorien in Unterverzeichnissen ablegt (OS_Guess liegt in ./OS/Guess.php) bietet es sich an, __autoload von PHP 5 zu verwenden. Man kann aber auch getrost benötigte Klassen per require_once einzeln einbinden.
Eigene Klassen veröffentlichen
Will man eigene Klassen zu dem Projekt beisteuern, muss man einiges beachten:
- Quellcode muss den Formatierungsstandards des Projektes entsprechen
- Er muss dokumentiert & strukturiert sein
- Mit dem Veröffentlichen verpflichtet man sich dazu, den Code auch zukünftig zu warten
Hat man diese Voraussetzungen erfüllt, kann man seinen Code unter einer Opensourcelizenz in einem SCM-System wie SourceForge veröffentlichen und auf der Projektseite im pepr einstellen.
Der detaillierte Ablauf ist in der Dokumentation von PEAR aufgeführt.
Weiterführende Informationen
Mehr Informationen zu PEAR finden sich unter anderem hier:
Abonniere das kostenlose KI-Update
Bleib auf dem Laufenden in Sachen Künstliche Intelligenz!
Melde Dich jetzt mit Deiner E-Mail-Adresse an und ich versorge Dich kostenlos mit News-Updates, Tools, Tipps und Empfehlungen aus den Bereichen Künstliche Intelligenz für dein Online Business, WordPress, SEO, Online-Marketing und vieles mehr.
Keine Sorge, ich mag Spam genauso wenig wie Du und gebe Deine Daten niemals weiter! Du bekommst höchstens einmal pro Woche eine E-Mail von mir. Versprochen.