PHPs neues Extension-Gewand

PHPs neues Extension-Gewand

24. September 2004 - PHP 5 bringt neben dem Objektmodell der ZE 2 etliche neue Extensions mit, welche den Programmiereralltag erleichtern.
Artikel erschienen in IT Magazine 2004/17

Neben den Änderungen innerhalb der Zend Engine wurden auch zahlreiche Extensions hinzugefügt oder überarbeitet. In PHP 5 wurde vor allem der steigenden Bedeutung von XML Rechnung getragen. Während das Parsen von XML in PHP 4 relativ mühsam und fehleranfällig war, wurden nun sämtliche existierenden Extensions (DOM, SAX…) auf der Basis der leistungsfähigen libxml2 des Gnome-Projekts neu entworfen. Der XSLT-Support wurde auf die libxslt umgestellt. So ist zusammen mit dem Support für Streams eine äusserst mächtige Umgebung zum XML-Handling entstanden.
Wohl die grösste Erleichterung für eine schnelle Entwicklung dürfte Christian Stockers SimpleXML-Extension sein, die zur PHP-Standardinstallation gehört und mit wenigen Function-Calls über Objekt-Properties und -Interatoren einen einfach Zugang zu XML-Dokumenten beliebiger Grösse und Komplexität bietet. Durch die Integration eines XPath-Interfaces ist zudem die Navigation innerhalb eines XML-Baums stark vereinfacht worden.
Weil sämtliche Extensions auf der libxml2 basieren, ist es zudem möglich, Objekte zwischen den einzelnen Extensions auszutauschen.



Code





Dies ermöglicht dem Entwickler, für jede Aufgabe das jeweils am besten geeignete Werkzeug zu verwenden. Ein denkbarer Anwendungsfall ist, mit DOM ein Dokument einzulesen, es zu validieren und es dann zwecks einfacherer Verarbeitung an SimpleXML zu übergeben (siehe Listing 3).
Last but not least erlaubt nun die XSLT-Extension ein Aufruf von PHP-Funktionen innerhalb von XSLT-Stylesheets. Damit ist es möglich, zusätzliche Informationen während des Transformationsvorgangs einzuführen, was früher teilweise nur beschwerlich möglich war, selbst wenn es nur um etwas Triviales wie einen Timestamp ging.


SQL up-to-date

Das Lizenzdurcheinander rund um MySQL und PHP hat im Vorfeld von PHP 5 für viel Verwirrung gesorgt. Da MySQL die Lizenz der Client-Library auf die GPL geändert hat, wäre es nicht mehr möglich gewesen, die MySQL Client Library im Rahmen von PHP mitauszuliefern. Auch wenn dies durch eine sogenannte FOSS-License-Exception seitens MySQL wieder ermöglicht wurde, haben sich die PHP-Entwickler entschlossen, die MySQL Client Library nicht mehr mit PHP mitzuliefern. Dies mag zwar auf den ersten Blick das Leben nicht gerade einfacher machen, da man sich nun selber um die Beschaffung der Client-Library kümmern muss, ist aber ein sinnvoller Schritt: Die klassische MySQL-Extension wie auch die Client-Library waren mit der Zeit immer schwieriger zu pflegen und hinkten bezüglich Aktualität dem «Original» immer weiter her. So hat man sich nun entschieden, die alten Zöpfe abzuschneiden und die MySQL-Extension genauso wie den XML-Support komplett neu zu konzipieren. Mysqli, so der Name der neuen Extension, muss nun wie die Extensions für PostgreSQL, Oracle oder andere Datenbanken gegen die Originalbibliotheken des Softwareherstellers gelinkt werden. Mysqli bietet fast alle Funktionen von MySQL 4.1 und verfügt wie die XML-Extensions über ein objektorientiertes Interface.





Sozusagen an die Stelle von MySQL tritt nun die dateibasierende SQL-Bibliothek SQLite (Ausführliche Einführung in InfoWeek 02/2004), die nun standardmässig mit PHP installiert wird und Datenbankapplikationen ermöglicht, ohne dass ein entsprechender Server vorhanden und verwaltet werden muss. Dies dürfte vor allem für Low-Cost-Hosting und –Applikationen interessant sein, bei denen Operationen mit Textdateien zu langsam oder zu aufwändig sind, ein richtiges RDBMS aber zu viel Overhead einführt. Die Benutzung von SQLite verhält sich identisch wie bei anderen Datenbanken, die mit PHP angesprochen werden können, wie Listing 2 zeigt.



Listing1: XML-Verarbeitung, DOM und SimpleXML

 
Seite 1 von 2

Neuen Kommentar erfassen

Anti-Spam-Frage Vor wem mussten die sieben Geisslein aufpassen?
Antwort
Name
E-Mail
GOLD SPONSOREN
SPONSOREN & PARTNER