by Pierre-Alain Joye (paj@pearfr.org) (übersetzt von Alexander Merz alexmerz(at)php.net)

Kurz und bündig: Viele Aktivitäten - eine Reihe von Updates, Ergänzungen und Korrekturen. Die diskutierten Themen variierten vom klassischem "Namensbenennung&Coding Standards" bis hin zu automatisierten Übersetzungen. Sebastian Bergmann und Kristian Köhntopp arbeiteten intensiv an XML_Transformer.
Last but not least - vier "stable"-Releases und ein "beta"-Release.


New Releases

Stable

Beta


PEAR-DEV - Stichpunkte

PEAR-Website und Package Manager

Die PEAR-Web-Gruppe arbeitet intensiv an den letzten Details und Funktionen. Um die Stabilität und Benutzbarkeit zu verbessern, bitten sie um Rückmeldungen von Benutzern und PEAR-Entwicklern. Wenn Sie die PEAR-Website benutzen oder einen der PEAR-Installer nutzen, informieren Sie sie bitte über Probleme oder vermisste Funktionen. Scheiben Sie entweder eine E-Mail an die PEAR-Dev-Mailingliste oder nutzen die PHP-Bugs-Webseite. Danke für die Hilfe!

PS: Um Zugriff auf die Beta-Version der PEAR-Website zu erhalten, müssen Sie das "devme"-Cookie aktivieren. Folgen Sie einfach diesem Link http://PEAR.php.net/?devme

MDB - Beschreibung, Rückmeldungen und Beiträge

Während dieser Woche bemerkte der Autor, dass viele die Idee hinter MDB nicht kennen, bzw. falsche Vorstellungen davon haben. Pierre bat deshalb den Maintainer Lukas Smith um eine kurze Erklärung zum MDB-Package:

Der Unterschied zwischen PEAR::DB und PEAR::MDB

Beide Packages besitzen eine ähnliche Befehlssatz um auf eine Reihe von RDBMS zuzugreifen. PEAR::MDB geht dabei einen Schritt weiter als PEAR::DB in der Abstraktion - neben der Emulation von Sequencen beherrscht es ebenfalls abstrakte Datentypen, z.B. unterstützen nicht alle RDBMS Timestamps. Gleichfalls bietet es ein datenbankunabhängiges Verwaltungsschemas für die Indizierung und Tabellen- und Datenbankerzeugung. Es ist nicht notwendig, spezifische SQL-Skripte bereitzustellen, damit das eigene Programm mehrere Datenbanken unterstützt. Der MDB-Manager ist ebenfalls in der Lage, eine existierende Datenbank zu verändern, wenn sich die Schema-Datei ändert. PEAR::MDB profitiert dabei von den Erfahrungen bei der PEAR::DB-Entwicklung und ist mittlerweile annähernd so schnell wie PEAR::DB.

Disclaimer:

Zur Zeit unterstützt PEAR::MDB nocht nicht so viele Treiber wie PEAR::DB. Deshalb und aufgrund seiner Neuheit hat es noch nicht die Stabilität von PEAR::DB erreicht. Diese Situation soll bis Ende Herbst überwunden werden. In Readme.txt finden sich weitere Ausführungen dazu.

Lukas Smith sucht deshalb insbesondere Unterstützer für die Programmierung neuer Treiber und Tester, die PEAR::MDB einem Feldtests unterziehen. Das gilt besonders für den Einsatz mit SqlServer und Oracle. Er ist zu erreichen über die PEAR-Dev-Mailingliste oder die PEAR::MDB-Seite.

PEAR "Weekly News" Bestandteil des Nexen-Newsletter

Dank an Damien Seguy für die Ergänzung des Nexen-Newsletter um die PEAR "Weekly News". BTW: Die PEAR "Weekly News" können auch in anderen Webseiten oder Newslettern wiedergegeben werden. Einzige Bedingung: Der Verweis auf das PEAR-Copyright muß erhalten bleiben.

PEAR-DEV Meldungen

PEAR-Lizenz-FAQ verfügbar

Die Liste der empfohlenen Lizenzen für PEAR-Packages ist im Manual verfügbar

PHP-Quell-Code-Verschönerer

Jens Bierkandt stellte sein Package zur Diskussion. Es formatiert Code u.a. gemäß den PEAR-Standards. Einige Features:

Es wird bald im PEAR-CVS verfügbar sein.

Inline::C in PHP?

George Schlossnagle schlug eine Funktion von Perl für PHP vor: Inline::C. Denkbar ist folgender Code:

<?pseudocode
$function_def = <<<EOF
php_function(times){
    int i,j;
    return if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, &i,&j) = FAILURE)
RETURN_LONG(i*j);
}
EOF
Inline_C($function_def);
times(2,2);
?>
Inline_C erwartet eine Zeichenkette mit C-Code, ergänzt die notwendigen Informationen, um ein Modul zu erzeugen. Nach der Kompilierung des Binarys wird es in den Speicher geladen und via dl() gestartet.

Namensbenennung und RFC

Mika Tuupola schlug eine Reihe von Empfehlungen für die Benennung von Konstruktoren und Factory-Funktionen vor.

I18N und Übsersetzungssysteme

Wojciech Zieliñski brachte erneut die Diskussion um Packages für automatisierte Übersetzungen auf. Wolfgang Kriesing arbeitet bereits daran im Rahmen des I18N-Packages - zur Zeit nur im CVS verfügbar. Wenn Sie Funktionen zur automatischen übersetzungen oder Internationalisierungen benötigen oder darin Erfahrung haben, nehmen Sie bitte Kontakt mit ihnen über die PEAR-Dev-Mailingliste auf.

In diesem Zusammenhang schlug James E. Flemer ein Package für ein Web-Oberfläche um gettext-Kataloge zu erzeugen/betreuen.

Bugs und Fixes

Dank an Nigel Armstrong, Adam Morton, Rob und Richard Heyes für Bug-Meldungen und Korrekturen.


Neue und vorgeschlagene Packages

Mail_Queue

Beim Versenden von E-Mails treten häufig Laufzeitprobleme auf. Das wirkt sich insbesondere störend bei der Generierung von Webseiten aus. Mail_Queue löst dieses Problem, es übernimmt fünf Tätigkeiten:

DB_Grid

Yavor Shahpasov's Package erlaubt eine dynamische Verbindungen zwischen einer SQL-Datenbanktabelle mit einer HTML/Text-Tabelle.

File_Repository

Mike McCallister propagierte seine Klasse für die Behandlung einer größeren Anzahl von Dateien in einem Verzeichniss. Viele Dateisysteme werden in solchen Situationen deutlich langsamer. Die Klasse löst das Problem auf interessante Weise, seine E-Mail beschreibt den Lösungsweg.

Spread für PECL

George Schlossnagles PHP-Erweiterung ist eine Schnittstelle für "Spread", ein Satz an Werkzeugen für die schnelle Interprozesskommunikation. Es ist resistent gegenüber Übertragungsfehlern in Intranets und im Internet. Weitere Informationen sind auf der Spread-Website erhältlich. Der Code der PHP-Erweiterung ist unter http://www.omniti.com/~george/php_spread/php_spread-1.1.tar.gz verfügbar.

Audio PHP-Erweiterung für PECL

Tony Leake's PHP-Erweiterung ermöglicht das Schreiben von fortgeschrittenen Audio-Aufnahme- und Bearbeitungsprogrammen, z.B. von Multitrack-Rekordern. Er plant für die Zukunft einen abstrakteren Befehlssatz um den ecasound-Syntax zu vereinfachen. Weitere Information sind auf http://www.webwise-data.co.uk/php_audio/php_audio_extension.html zu finden.

Entwicklung

CVS-Aktivitäten fanden letzte Woche bei Log, LiveUser, Python, XML_Transformer, HTTP_Request, DB_DataObject, DBA, HTML_QuickForm, Net_Ping, Tree, Net_DNS, Net_Whois, Crypt_RC4, HTTP_WebDav, MDB, PEARDoc/FAQ und Mail_Queue statt.