Michael
Anmeldungsdatum: 01.11.2003 Beiträge: 7
|
Verfasst am: 27.12.2005 14:52:21 Titel: Umsteigen auf PHP 5 |
|
|
Umsteigen auf PHP 5
Adam Trachtenberg
Deutsche Übersetzung von Sigrid Speidel & Ulrich Speidel
Das Buch im O'Reilly Katalog
1. Auflage 2005
ISBN 3-89721-391-5
ca. 330 Seiten
EUR 34,00
Inhalt
In der Szene der freien Software hat ein Versionssprung noch etwas zu bedeuten und so verwundert es auch nicht, dass der Sprung von 4 auf 5 auch bei PHP mit einigen Umwälzungen verbunden ist.
Wurde zwar weitgehend auf Abwärtskompatibilität geachtet, ist es doch sinnvoll, die Neuerungen zu kennen. Häufig lassen sich dadurch ja altbekannte Probleme sehr viel besser anpacken. (Auf der anderen Seite ist es auch von Vorteil, die Konstrukte zu kennen, die in Version 5 nicht mehr so wie in 4 funktionieren, wie der Verfasser dieser Kritik bei einem vorschnell vorgenommenen Upgrade feststellen musste).
Das vorliegende Buch hangelt sich an den Neuerungen entlang und präsentiert sie in jeweils eigenen Kapiteln:
----------------------
Objektorientiertes Programmieren
PHP ist mittlerweile in der Welt der objektorientierten Sprachen angekommen. Nach einigen zaghaften bis halbherzigen Versuchen bereits in der Version 3 bietet einem PHP 5 nun die Möglichkeit, in einer vollwertigen objektorientierten Umgebung zu programmieren. Vieles, was vorher nur prozedural ging, lässt sich nun auch über Objekte abhandeln - angesichts der wachsenden Aufgaben der Sprache PHP sicherlich eine begrüßenswerte Entwicklung.
Das Kapitel beginnt mit einer kleinen Einführung in die objektorientierte Programmierung allgemein. Auch wenn hier für viele Leser wahrscheinlich noch nicht viel neues zu erfahren ist, geht das Buch doch sehr schnell auf die PHP-Spezifika ein, die dann die Objektorientierung aus PHP-Sicht beleuchten.
MySQL
PHP wird sehr gerne zusammen mit MySQL betrieben - den meisten dürfte die Konfiguration "LAMP" für Webserver bekannt sein. Ein Grund, die Änderungen in Bezug zu PHP zur Sprache zu bringen: so gibt es z.B. eine erweiterte MySQL-Schnittstelle (mysqli), die nun auch ein objektorientiertes Interface anbietet.
Aber auch auf Seiten von MySQL hat sich einiges getan. Einziger Wermutstropfen ist hier, dass das Buch zumindest hier schon durch die Realität etwas überholt wurde. Während das Buch MySQL 4.1 behandelt ist seit einiger Zeit MySQL 5.0 erschienen. Da aber alle 4.1er Neuerungen auch in 5.0 noch enthalten sind, lohnt sich ein Blick in dieses Kapitel allemal, da mit Subselects und Transaktionen doch vieles leichter geworden ist. Die notwendige Anleitung zum Migrieren ist mitgeliefert.
SQLite
Auch wenn für viele Entwickler PHP ohne MySQL nahezu undenkbar ist, soll es immer noch Umgebungen geben, in denen ein MySQL-Server nicht zur Verfügung steht. Wem aber die Speicherung in "flat files" nicht geeignet erscheint, dem bietet PHP ab der Version 5 einfach eine eingebaute Datenbank an: SQLite.
Nach Angabe einer Datenbank-Datei kann man auf dieser Datei wie mit jeder anderen Datenbank per SQL operieren. Das ganze natürlich funktions- und objektorientiert. Was SQLite dabei nicht so gut kann und welche Stolpersteine zu umschiffen sind, wird ausführlich erläutert.
XML
Ob es der Chef ist, der "etwas mit XML" (so schonmal gehört!) machen möchte oder ob man einfach selbst gerne die Vorteile der erweiterbaren Markup-Sprache nutzen möchte - PHP bietet jetzt das notwendige Handwerkszeug dazu, und alle denen die notwendigen XML-Kenntnisse fehlen, bietet dieses Kapitel einen Crashkurs in XML.
Iteratoren und SPL
Bisher war zwar die Iteration über eine Menge an Datensätzen, Dateien, Elementen eines Arrays u.ä. zwar nicht unbekannt, aber die objektorientierte Schnittstelle in Verbindung mit der foreach-Schleife macht das ganze doch deutlich intuitiver. Wie dies in PHP behandelt wird, ist Thema dieses Kapitels.
Fehlerbehandlung und Debugging
In diesem Kapitel wird vor allem eine Art der Fehlerbehandlung und des Debugging behandelt: Ausnahmen. Nach einer Einführung in das Konzept werden dem Leser dann die notwendigen Handwerkszeuge gegeben, um Exceptions zu definieren, zu werfen und zu behandeln.
Streams, Wrapper und Filter
Wer richtig objektorientiert programmieren will, der darf natürlich nicht einfache Prozeduren benutzen, um auf Dateien zuzugreifen: Es muss ein Stream sein!
Ein greifbarer Vorteil ist, dass man über Wrapper nahezu beliebige Datenquellen anbinden kann (Was kümmtert's mich, ob ich grade eine http-, eine https-, eine ftp-Quelle oder eine Datei lese?).
Wie das funktioniert, wie man die Daten dann per Filter sogar evtl. noch on the fly entpackt und wie man das ganze natürlich auch selbst nachprogrammieren kann (es gibt ja immer jemanden, der etwas findet, was noch fehlt), wird ausführlich an Beispielen dargestellt.
Andere Erweiterungen
SOAP: Am Beispiel der Abfrage der Temperatur an einen anderen Server werden Web-Services vorgestellt und ihre Abfrage erklärt. Natürlich kann PHP auch als SOAP-Server arbeiten.
Tidy: Es gibt sie immer noch: Leute, die ihre Websites mit Word, Frontpage oder ähnlich hervorragend dazu geeigneten Programm erstellen (bitte Sarkasmus-Tags selbst einfügen). Da die Syntax dieser und auch anderer Websites nicht immer unbedingt die beste ist, ist es nicht so einfach, dort Daten zu extrahieren. Hier kommt das Tool tidy zum Zuge, dass im HTML-Dokument "aufräumt" und kleinere "Reparaturen" vornimmt.
Reflection: Über das Reflection-API kann man zur Laufzeit Typinformationen abfragen. Wie das geht, wird hier beschrieben.
PHP5 in Aktion
Anhand eines kleinen Adressbuchs werden hier die in den vorangegangenen Kapiteln vorgestellten Konzepte nochmal aufgegriffen und an einem Beispiel nachvollzogen.
Anhang
Einführung in XML: Wem der kleine Crashkurs im XML-Kapitel nicht reichte dem wird hier noch etwas nachgeliefert. Desweiteren werden Quellen für die weitere Informationssuche genannt.
Zusätzliche neue Features und kleine Änderungen: Vieles mehr hat sich geändert, aber man kann wohl nicht über alles ein Kapitel füllen. Deswegen findet man hier eine Zusammenfassung sonstiger Änderungen
PHP5 zusammen mit PHP 4 installieren: Die hier vorgeschlagene Konfiguration ist nicht für den Dauereinsatz sondern für den Testbetrieb gedacht: Auf einem eigenen virtuellen Server des Apache wird PHP 5 für PHP-Dateien aktiviert. So ist es möglich, die gleichen Dateien unter PHP 4 und PHP 5 zu testen.
Fazit
Das Buch ist eine gute Quelle, um die, die sich schon ein wenig mit PHP auskennen, auf den neuesten Stand zu bringen. Dabei bietet es deutlich mehr, als ein einfaches "Changelog", weil es auch die damit berührten Technologien erläutert.
Nur, wer sich schon zu 100% mit diesen auskennt, oder von PHP 0% Ahnung hat, ist wahrscheinlich eher mit der Changelog oder mit einem Einsteigerbuch besser bedient.
Für alle ist dieses Buch eine gute Gelegenheit, nicht nur das PHP-Wissen zu aktualisieren, sondern auch mitreden zu können, wenn es mal wieder um "XML", "SOAP" oder die Vorteile von Streams gegenüber dem bisherigen Konzepten von PHP geht  |
|