by Mika Tuupola (tuupola@appelsiini.net), Pierre-Alain Joye (paj@pearfr.org), übersetzt  von Alexander Merz (alexmerz[at]php.net)

Ruhige Woche, aber einige nette Sachen haben wird doch aufgespürt. Wenn sie sich wie ein zukünftiger Autor fühlen, dann werfen Sie doch einen Blick auf die  PEARDoc2-Referenz von Alexander Merz.
Großen Dank an Frank M. Kromann für die Bereitstellung für PECL-Binaries für Windows, neben fast allen Erweiterungen für PHP4/5 unter kromann.info. Ein Danke geht an Urs gehrig für diesen Hinweis (www.circle.ch).

Das Package der Woche ist die neue Mono-Erweiterung von Sterling Hughes.


Package der Woche

Mono-Erweiterung

Wer ist Sterling Hughes?

Fragt nicht mich, fragt Google!

Was sind die Vor-/Nachteile bei der Veröffentlichung in PEAR/PECL?

Die Vorteile von PEAR/PECL sind situationsabhängig; generell sehe ich zwei große Vorteile:

  1. Das automatisiert Package-Verteilungs- und Verwaltungssystem Die Installation der Mono-Erweiterung ohne den PEAR-Installer erfordert einigen Aufwand. Mit dem PEAR-Package-System dauert es nur wenige Minuten ein neues Release zu erzeugen, und der Benutzer muss einfach nur diese Zeile tippen:

    $ pear install mono

    (Anmerkungen: Man kann das PEAR-Package-System auch ausserhalb des PEAR-Frameworks nutzen. Externe Projekte wie xdebug tun das bereits)

  2. Sie wollen Code der Öffentlichkeit zugänglich machen. Das bedeutet nicht nur ihn anderen zur Nutzung zu überlassen, sondern von Hilfe beim Testen und Debuggen zu profitieren. Es gibt keinen besseren Ort als PEAR/PECL dafür, dass die Gewicht des PHP-Projektes hintersich weiß.
Und was Nachteile angeht: Ich sehe keine. Es sei denn sie wollen ihren Code nicht öffnen, aber dann ist PEAR auch nicht der richtige Ort.

Was hohhst du für die Zukunft von PEAR/PECL?

'Evangelism' - PEAR soll zur de-fakto Resource werden. Das aktuelle Framework/System ist äusserts robust; Stig und sein Team haben großartige Arbeit geleistet, jetzt ist es an der Zeit, daß deutlich zu machen.

Mono - kannst du das Package und die Technik beschreiben?

Mono ist eine OpenSource-Umsetzung verschiedener Teile des .NET-Frameworks. Die Mono-Erweiterung bindet sich an den 'Common Language Runtime'-Teil (CLR) vpn Mono. CLR ist ein allgemeiner Bytecode, zu dem alle .NET-Sprachen kompliliert werden. Derzeit existieren Kompiler für C#, C++, C, VB.NET und Java.

CLR versucht  die Syntax einer Sprache zum Gebrachsgegenstand zu machen. Man nutzt eine Sprache abhängigvom Zweck  Wenn man lieber ein Web-Frontend in PHP schreibt, den Back-End-Code aber in C oder C# - kein Problem! Früher war die Zusammenarbeit verschiedener Sprachen ineffizient und benötigte entweder eine Brücke wie COM oder DCOM, oder man mußte eine Erweiterung schreiben - alles recht zeitintensiv..NET ist eine funktionale Verbesserung: alles befindet sich unter der gleichen Haube.

Die Mono-Erweiterung erlaubt den Zugriff auf .NET Assemblies (genannt "hosting"). Es funtioniert ähnlich wie die Java-Erweiterung, wobei Mono die eigentliche Arbeit vollbringt. Das übliche "Hello World"-Beispiel:


<?php
$Console = new Mono('System.Console');
$Console->WriteLine('Hello World');
?>

Welche Unterstützung benötigst von der Community?

George und Ich brachen das selbe: eine Milliarde Dollar. Doch ich begnüge mich auch mit geringeren Beträgen wie einer Million oder ein paar Hundertausend. Benutzt das Package einfach! Wenn ihr Fehler findet oder Fragen habt, schickt eine EMail an sterling@php.net.have questions drop me an email, sterling@php.net.

Danke an Sterlinh Hugher für das Interview. Eine kurze Einführung findet sich hier.

In der Presse

php|architect

PEAR wurde kurz in der Februar-Ausgabe erwähnt: im  Artikel Data Fingerprinting with Hash Functions in PHP von Leon Vismer.


Wenn Sie einen PEAR-bezogenen Artikel finden, senden Sie uns bitte eine Referenz an pear-dev@lists.php.net


PEAR-DEV-Meldungen

Oracle-Treiber für MDB

Lukas Smith übertrug den ersten funktionierenden Oracle MDB-Treiber ins CVS. Der Treiber bestand alle Tests.

JavaScript in PEAR

Es wurde darüber diskutiert , ob PEAR über ein JavaScript-Package verfügen soll. Es herrschte Übereinstimmung dabei, keine eigenständigen JavaSkript-Programme aufzunehmen.Packages wie HTML_TreeMenu mit optionalen Funktionen, wenn JavaSkript verfügbar ist, sollen die erforderlichen JavaScript-Bestandteile selbst mitbringen.

Kategorie for Java-Schnittstellen?

Stuart Herbert schlug eine Java-Kategorie für Schnittstellen zwischen PHP und Java vor. Er legte dar, dass es besser ist, alle Schnittstellen in einer ausdrücklichen Java-Kategorie zu halten, als sie quer in PEAR zu verstreuen. Ein denkbarer Ort wäre eine Unterkategorie in der RPC-Kategorie. Diese Katgorie würde es einfacher machen Schnittstellen für ander Sprachen wie Python oder Ruby später zu ergänzen.

Neue und vorgeschlagene Packages

PECL::mono

Sterling Hughes übertrug seine Mono-Erweiterung in PECL. Sie erlaubt es mit PHP auf .NET Assemblies über die Mono library zu zugreifen. 

Auth_Container_SOAP

Bruno Pedro's Package ist ein SOAP-Container für das Auth-Package. 

Entwicklung

Aktivitäten im CVS gab es diese Woche bei: Crypt_CHAP, Auth_RADIUS, Auth, Text_Statistics, HTML_Template_Flexy, Auth_HTTP, HTML_Template_Xipe, MDB, HTML_QuickForm, Tree, Mail_Mime, Search_MnogoSearch, SOAP, PECL::bcompiler, Net_Ping, DBA, Log, DB_DataObject, File_Passwd, HTML_TreeMenu, Net_Whois, DB, HTTP_Header, PECL::fribidi und PECL::mono