<<<<<<< 20030119.en.html

von Mika Tuupola (tuupola@appelsiini.net)  - übersetzt von Alexander Merz (alexmerz[at]php.net)

Da PEAR aus dem BETA-Status heraus ist und PHP 4.3 der PEAR Installer standardmäßig enthält, leben die Weekly News wieder aus. Diese Woche gibt es Informationen zum Abstimmungsprozess für vorgeschlagene Packages, über ein PEAR Tutorial für MAc OS X, neue PHPDoc-Templates  und zum fehlenden PEAR Installer in der Windows-Binary-Paket. Und es gab acht neue Releases diese Woche.


INTERVIEW MIT STIG BAKKEN

by Pierre-Alain Joye (paj@pearfr.org)

Wer ist Stig Bakken?

Stig (30) ist seit 10 Jahren mit Unix und der Webentwicklung beschäftigt. Seit 1999 arbeitet er als Senior-Software-Entwickler für Fast Search&Transfer in Trondheim, Norwegen. FAST ist Googles größter Konkurrent im OEM-Suchmaschinen-Markt, Stig ist Technischer Leiter für FATSs Multimedia-Suchmaschine.
Eine Demonstration findet sich auf www.alltheweb.com (natürlich PHP-basiert).

Was ist PEAR?

PEAR ist ein PHP spin-off mit verschiedenen Zielen:
  • eine Bibliothek hohwertigen, wiederverwendbaren PHP-Codes und Erweiterungen
  • Code-Richtlinien für Komponenten mit konsistenter API
  • ein Vertriebs- und Installations-Framework zur verteilung dieser Komponenten
  • Die Abkürzung steht für: PHP Extension and Application Repository. Die Abkürzung entstand natürlich befor sie eine Bedeutung bekam.

    Was ist PECL

    PECL (die PHP Extension Code Library) ist eine Untergruppe von PEAR für PHP Erweiterung, die in C oder C++ geschrieben sind.

    Was ist der Zusammenhang zwischen PHP und PEAR/PECL, wir sahen eine große Anzahl an Verschiebungen von Erweiterungen von PHP zu PECL (und es scheint weitere werden folgen) ?

    Immer mehr Erweiterungen werden nach PECL verschoben; mit der Zeit, wenn PHP 5 erscheint, werden die meisten Erweiterungen 'gepickelt' ("PECL'ed"). Das ist der erste neue Schritt im Projektmanagment für PHP. Zukünftige Versionen von PHP werden weiterhin mit einer großen Anzahl an Erweiterungen ausgeliefert, die Erweiterungen werden während des Release-Prozesses importiert und in den Release-Tarball eingefügt.

    Zweck dafür ist die Verbesserung des PHP Release-Prozesses. Heute erfordert ein neues PHP mehrere Monate. Mit dem Import stabiler Versionen von Erweiterungen aus PECL in die PHP Quellcode-Distribution, statt sie im PHP CVS zu halten, wird es weniger Unbekannte während des PHP QA-Prozess geben,
    da die Erweiterungen von PECL ihre eigene QA haben. Das wird hoffentlich den Release-Prozess von PHP auf Wochen statt Monate verkürzen, und erhöht die allgemeine Qualität von PHP-Erweiterungen. Ich möchte betonen, dass es nicht bedeutet, dass PHP zukünftig ohne Erweiterungen ausgeliefert werden. PHP wird zukünftig auch mit Erweiterungen ausgeliefert werden, aber ihre Qualität wird mit PHP 5 höher sein.

    Zusätzlich, wenn 'shared' Erweiterungen gebaut werden (nicht direkt in PHP einkompliert, sondern als dynamisch ladbare Programmerweiterung), wird es möglich sein, Erweiterungen individuell ohne PHP selber zu updaten.

    Was ist der Unterschied zwischen den Kern-PEAR und den übrigen Bestandteilen?

    Die PHP beiligenden "Kern"-Pakete sind zweier Art: notwendig für den Installler - und eine Satz von Paketen von hoher Qualität und vom allgemeinen Interesse.
    Die zweite Art wird hoffentlich später die Grundlage für die "PHP Fundation Classes" (PFC) bilden

    Darf der Package Manager und die Package-Definition von jedem PHP-Entwickler für Projekt genutzt werden - privat oder kommerziell?

    Jeder darf  eine eigene Kopie von pear.php.net aufsetzen und für den Vertrieb eigener PHP-Komponenten verwenden. Es gibt bereits eine Reihe Projekte die beganneb die PEAR Tools für eigene Projekte zu verwenden.

    Was werden die nächsten Ziele für PEAR sein?

    Als aller erstes muß der Windows-Installer-Supoort stabil sein. Durch die Weihnachstferien und schlechtes Timing wurde der PHP 4.3.0 Windows-Installer ohne PEAR ausgeliefert, das wird mit PHP 4.3.1 korregiert. Auch muss der Vertrieb von Win32-Binary-Releases klappen. Danach benötigen wir eine plattform-übergreifendes Paket-Signaturen-Infrastruktur, so dass die Leute binary problemlos installieren können. Das ist aufwendiger für PEAR als z.B. RPM, der PEAR Installer muß eine große Zahl an Plattformen und Konfigurationen unterstützen. Und es gibt viel Arbeit mit der Migration nach PHP 5.

    Immer mehr Menschen gehören zur PEAR Community mit dem hinzufügen neuer Funktionen oder neuer konkurrierender Pakete, wie wird das verwaltet?

    Wir haben einen Abstimmungsprozess auf der pear-dev-Mailingliste, wo jeder Stimmen für seinen Paket-Vorschlag sammeln kann. Üblicherweise wird kein Projekt abgelehnt, auch wenn es sich mit anderen überlappt. Aber da wir eine gemeinsame Mailingliste für die PEAR Entwickler haben, finden sich 'konkurrierende' Entwickler recht schnell zusammen und schaffen eine gute Lösung aus eigenem Antrieb. Meine eigene Rolle ist einfach die Community, von zeit zu Zeit, in die richtige Richtung anzustossen.

    PEAR-DEV Meldungen

    Wer darf abstimmen?

    Auf der Mailingliste wurde gefragt, ob nur ein CVS-Account zur Abstimmung über neue Packages berechtigt. Nach den Hinweisen was ein Entwickler ist, wird deutlich das ein Entwickler nicht unbedingt einen CVS-Account haben muss - jeder auf der Liste darf abstimmen.

    Tutorial über PEAR auf Mac OS X

    Pierre-Alain Joye find ein Tutorial über die PEAR-Installation auf Mac OS X. Das Tutorial ist umfassend, es beginnt mit den Grundlagen über die Installation von PHP-CLI und dem Aufsetzen der korrekten Umgebungsvariablen. Dazu finden sich Informationen über die Installation und Benutzung des PEAR Package Managers,
    Erzeugung von Entwicklerdokumentation mit PHPDoc und dem Einsatz der PEAR-Klassen in eigenen Programmen.

    Das Tutorial kann auch als Führer für die Installation von PEAR auf Unix-Systemen genutzt werden, der einzige Unterschied besteht wohl in der Kompilierung von PHP-CLI aus dem Quellcode.

    Was noch fehlt ist ein ähnliches Tutorial für Windows...

    =======

    PEAR-phpdoc-Template

    Christian Dickmann verkündete, dass seine PEAR Templates für PHPDoc weitestgehend fertig sind und fragte nach Feedback. Die Templates sehen sehr gut aus.
    Die Templates erfordern phpDocumentor.

    Windows-Verpackungsfehler

    Für Konfusion unteer Windowsbenutzern führte die Installation von PEAR - der PEAR Installer ist nicht in der Windows Binär-Distribution enthalten. Das wurde nicht beabsichtigt und entstand durch einen Packfehler. Dieser Fehler wird mit PHP 4.3.1 korregiert werden.

    Fehler und Korrekturen

    Danke für das Finden und Korregierenvon Fehlern an: Lorenzo Alberton, Tobias Schlitt, Michele Manzato, Markus Wolff


    Neue und vorgeschlagene Packages

    HTTP_Header, HTTP_Header_Cache

    Wolfram Kriesings vorgestelltes Paket implementiert allgemeine Header-Methoden und die Behandlung von Cache-Header.

    DB_Abstract

    Wolfram Kriesing schlug auch ein Paket zur Erzeugung und Ausführung von Datenbank-Befehlen basierend auf DB vor. Das Paket hat Ähnlichkeiten mit DB_DataObject, konzentriert sich aber stärker auf die Erzeugung von SQL-Befehlen statt auf das Erzeugen von Objekten.

    Enterprise A&A

    Tony Bibbs schlug eine neues Authentifizierungs&Authorisierungs-Paket vor. Nach einigen Diskussionen stieg die Wahrscheinlichkeit, sein Paket mit LiveUser zu verbinden.

    GTK_VarDump

    Alan Knowles Klasse liefert eine VarDump-Ausgabe in einem GTK-Fenster.


    Development

    CVS-Aktivitäten gab es bei: Net_SMTP, DBA_Relational, PECL::session_pgsql, PHPUnit, DB, MDB, XML_Transformer, HTML_QuickForm, PECL::soap, Net_SmartIRC, Cache_Lite, HTML_Template_Xipe, PECL::tclink, Net_SMTP, Mail, Perm_LiveUser, I18N, Spreadsheet_Excel_Writer, Pager_Sliding, XML_XPath, Net_UserAgent, Image_GIS, File_HtAccess, HTML_TreeMenu, DB_QueryTool, HTTP_Header