tests

Test: PHP - Grundlagen und Lösungen

Autor : Jörg Krause Verlag : Carl Hanser Verlag München Wien
ISBN-Nr. : 3-446-21301-5 Preis : 98.00 DM

"AAP" - dieses Kürzel fehlt noch im kollektiven Bewusstsein der Webdesigner, Internetartisten und wie all die Protagonisten der wunderbaren WWWelt auch immer heißen mögen. "WAMP" und "LAMP" haben hingegen ihren Stammplatz im Vokabular all der hippen Angehörigen der so genannten "New Economy" schon lange gefunden. Sie bezeichnen bestimmte Rechnerkonfigurationen, auf denen man WWW-Angebote entweder entwickeln oder auch komplett "hosten" kann - einmal auf "W"indows-Basis, das andere Mal auf "L"inux aufsetzend. Dabei steht das "A" für "Apache", den am Weitesten verbreiteten WWW-Server, der unter der GNU-Lizenz (und damit kostenlos) vertrieben wird. Das "M" kürzt das populäre Datenbanksystem "MySQL" ab, und das "P" steht schließlich für "PHP", eine Skriptsprache, die serverseitig ausgeführt wird und sich von daher u. a. hervorragend zur Verbindung des WWW-Servers mit der Datenbank eignet. Nun müssen Amiga-Anwender zwar nach wie vor auf eine "MySQL"-Portierung verzichten, das "Amiga Apache"-Team um Rüdiger Kuhlmann und Jeff Shepherd hat jedoch unlängst die ohnehin schon lange Liste seiner verdienstvollen Taten um die Compilierung einer "Apache"-Version mit PHP-Unterstützung ergänzt, so dass sich ambitionierte WWW-Aktivisten nun auch auf "Amiga Apache PHP"-Systemen austoben können, den eingangs erwähnten AAPs.

Doch dazu will diese Skriptsprache erst einmal erlernt und vor allem beherrscht sein. Bei PHP handelt es sich um eine noch recht junge Sprache. Sie geht auf eine Entwicklung von Rasmus Lerdorf aus dem Jahre 1994 zurück, und kombiniert verschiedene Elemente bekannter Programmiersprachen wie Perl, C(++) und Javascript. (Krause nennt PHP in seinem Vorwort "das Beste aus allen Welten".) PHP-Skripte können direkt in den HTML-Code einer WWW-Seite eingebunden werden (und ihn sogar komplett ersetzen). Sie werden beim Aufruf sofort vom WWW-Server ausgeführt, so dass mit PHP erstellte WWW-Angebote (jedenfalls insoweit) von der auf Seiten des Nutzers vorhandenen Hard- und Software völlig unabhängig sind. Jörg Krauses Buch "PHP - Grundlagen und Lösungen" erschließt dem Leser die Welt dieser eierlegenden Wollmilchsau der WWW-Programmiersprachen in insgesamt vier Kapiteln. Dabei widmet sich der alleine etwa 300 Seiten starke erste Teil "Einführung und Grundlagen". Hier beginnt Krause - nach allgemeinen grundlegenden Erläuterungen - zunächst mit Konfigurations- und Installationshinweisen, die auf die Amiga-Umgebung nur sehr bedingt übertragbar sind. Die sich anschließenden Erklärungen zu den einzelnen PHP-Befehlen und -Funktionen, die Krause dazu in sinnvolle und aufeinander aufbauende Gruppen unterteilt hat, ist jedoch (natürlich) gänzlich systemunabhängig. Dank zahlreicher praktischer Beispiele und einer überzeugenden Didaktik kann dieser Teil rundum überzeugen. Nachfolgend wird, ebenfalls sehr gelungen, die Erstellung interaktiver Webseiten detailliert geschildert. Dabei wird schwerpunktmäßig auf Formulare, Cookies und die Sessionverwaltung eingegangen, aber auch Fragen des Dateisystemzugriffs und der Systemsicherheit werden umfassend thematisiert. Der erste Teil schließt dann mit "Praxis I - Lösungen für den Alltag", in dem Krause den Leser Schritt für Schritt die Entwicklung einiger oft gebrauchter oder zumindest nützlicher PHP-Skripte nachvollziehen lässt.

Der etwa 150 Seiten umfassende zweite Teil des Buches beschäftigt sich dann mit der Datenbankprogrammierung. Dabei geht der Verfasser insbesondere auf SQL (und hier natürlich vor allem auf die konkrete Implementierung in "MySQL") ein, was auch eine sehr gelungene Einführung in die Datenbanksprache selbst umfasst. Dieser Teil ist für Amiga-Anwender freilich nur dann von praktischem Interesse, wenn sie Zugriff auf einen Rechner mit (My)SQL-Unterstützung haben - dies ist, soweit ersichtlich, beispielsweise bei so gut wie allen Internet-Providern der Fall, deren Webserver auch PHP-fähig sind. Bevor auch dieser Teil des Buches mit praktischen "Lösungen für den Alltag" schließt, erläutert Krause aber auch noch ergänzend die Einbindung (und Adressierung) von "Access"-Datenbanken mit (und durch) PHP (via ODBC), sowie (kurz) die "Access"-seitige Steuerung von "MySQL". Über 200 Seiten nimmt nun der dritte Teil des Werkes ein, der sich mit der "fortgeschrittenen Programmierung" auseinandersetzt. Hier behandelt Krause all die Themen, die er zuvor nicht sinnvoll abdecken konnte. Für den Amiga-Anwender sind dabei wohl insbesondere die Teile zur Netzwerk- und Mailprogrammierung, sowie die ausführlichen Ausführungen zu den regulären Ausdrücken von Interesse. Aber auch die, freilich mit PHP in keinem ausschließlichen Zusammenhang stehenden, Erläuterungen zum Thema XML und zum CVS, dem "Concurrent Version System", mit welchem bei umfangreicheren Programmierprojekten die Konsistenz und Homogenität des Programmcodes gewährleistet wird, sind sehr lesenswert und auch für Amiga-Anwender von großer Relevanz. Das gilt selbstverständlich nicht für die (allerdings nicht sonderlich zahlreichen) Kapitel dieses dritten Teils, in denen sich Krause "Windows"- oder Linux-spezifischen Themen widmet (etwa die Wahl des richtigen Editors betreffend), oder in denen es um PHP- und sonstige Zusatzfunktionen und -routinen geht, die für den Amiga schlichtweg (noch) nicht verfügbar sind (dies gilt etwa für die Beschreibung der PDF-Bibliothek oder den äußerst kurzen Teil über das "Hyperwave"-System). Auch dieser Abschnitt enthält dann diverse "Praxis"-Lösungen, wobei diese nach offizieller Diktion allerdings nicht für den Alltag gedacht, sondern vielmehr "Profilösungen" sind. Anders als bei den beiden vorherigen Buchteilen schließt sich hier jedoch überdies noch ein weiteres Kapitel an, in dem sich Krause mit diversen "PHP-Erweiterungen" auseinandersetzt. Dabei gebührt der Hauptteil dieses Kapitels einer ausführlichen Beschreibung der Version 7 der "PHPLIB", einer freien Bibliothek mit zahlreichen hilfreichen PHP-Erweiterungen. Da diese allerdings nicht Bestandteil der Amiga-"Apache"-Distribution ist, ist der praktische Nutzen für den Amiga-Anwender begrenzt, will er denn nicht selbst die Integration der "PHPLIB" in die AAP-Umgebung übernehmen.

Der vierte und letzte Teil des Buches, der mit über 350 Seiten zugleich der umfangreichste ist, enthält "Anhänge und Referenz". Dabei werden zunächst in einem gelungenen (alphabetisch geordneten) Glossar zahlreiche wichtige Begriffe in der gebotenen Kürze, aber doch sachlich zutreffend und allemal gut verständlich erläutert. Es folgt eine mehr als 200 Seiten umfassende Referenz, in der alle PHP-Befehle und -Funktionen erläutert werden. Diese Erläuterungen sind ganz hervorragend gelungen, enthalten sie doch nicht nur eine Parameterübersicht des jeweiligen Kommandos und eine kurze und doch sehr instruktive Funktionsbeschreibung, sondern darüber hinaus zahlreiche Querverweise und oftmals sogar konkrete Anwendungsbeispiele. Dennoch ist die Referenz bedauerlicherweise in der Praxis so gut wie unbenutzerbar. Grund dafür ist die Reihenfolge, in der die Befehle und Funktionen erläutert werden. Hier hat sich Krause nämlich (weitgehend) an die auch sonst im Buch praktizierte funktionale Einteilung gehalten. Diese ist bei einer didaktischen Erläuterung des Stoffes auch sicherlich geboten und sinnvoll. Im Rahmen einer Referenz, deren Sinn und Zweck der schnelle Zugriff auf kompakte Informationen zu einem ganz bestimmten Kommando ist, ist eine funktionale Einteilung jedoch äußerst kontraproduktiv. Selbst die mehrere Dutzend starke Inhaltsübersicht, die dieser Referenz eigens vorangestellt ist, hält sich an die funktionale Einteilung uns ist damit ebenfalls unbrauchbar. Obskurerweise hat Krause dann aber zwischen diese Übersicht und die eigentliche Referenz sogar eine alphabetisch sortierte Liste der PHP-Kommandos eingefügt - bei dieser jedoch auf die zugehörigen Seitenzahlen verzichtet. Das ist sehr ärgerlich und wird auch nicht durch den (kurzen) Rest des vierten Teiles kompensiert, der u. a. eine Aufstellung und Erläuterung der (WWW-)Server-Variablen und der (HTTP-)Statuscodes, sowie zwei "Cross-Referenzen" enthält, welche einerseits die Befehle von Microsofts "VBScript" und PHP und andererseits die Befehle von Perl und PHP einander gegenüberstellt

Jörg Krauses Buch wird, da sollte man sich keinen Illusionen hingeben, blutige Anfänger nicht zu Helden des WWW machen. HTML-Fähigkeiten werden genauso vorausgesetzt wie ein grundlegendes Verständnis für Programmiersprachen. Wer noch keinerlei Gehversuche mit Schleifen, Bedingungen und Funktionen gemacht hat, für den ist das Buch sicherlich ungeeignet. WWW-Schaffende, die diese grundlegenden Fähigkeiten jedoch beherrschen, werden aus Krauses Werk andererseits aber viel Nutzen ziehen können. Dabei geht es natürlich nicht darum, das Buch von der ersten bis zur letzten Seiten zu lesen. Lediglich das erste Kapitel mag noch hierzu gedacht sein, richtet sich dabei allerdings vor allem an den PHP-Neuling. Der Rest des Buches fordert und fördert die selbstbestimmte Lektüre. Der nach bestimmten Informationen suchende Leser wird sich das einschlägige Kapitel durchlesen - und dort mit großer Sicherheit die Antworten finden, die er sucht. Da, mit einigen überschaubaren Ausnahmen, die Erläuterungen völlig systemunabhängig gehalten sind, kann auch der Amiga-Anwender diesen hohen Nutzwert beinahe vollständig realisieren. Als besonderer Bonus liegt "PHP - Grundlagen und Lösung" schließlich noch eine CD-ROM bei. Diese enthält über 120 MByte Daten - neben den (selbstverständlich auch für Amiga-Anwender nützlichen) Quelltexten sämtlicher Buchbeispiele vor allem die diversen GNU-Softwarepakete (im Verzeichnis "support"), insbesondere also "Apache" und "MySQL", wobei beide (natürlich) nicht als Amiga-Version vorliegen (können).

Die Sprache des Buches ist sehr angenehm und auch für Laien leicht verständlich. Lediglich manche Formulierungen wirken ein wenig unglücklich. So schreibt Krause des Öfteren davon, das Buch richte sich (auch) an solche Leser, die "Webserver programmieren" wollen. Dass damit künftige Schöpfer potentieller "Apache"-Konkurrenten gemeint sein sollen, kann man sich jedoch nicht so recht vorstellen. Befremdlich auch - dies ebenfalls nur als Beispiel - die Behauptung, das Buch sei nur aufgrund der "Verfügbarkeit eines geeigneten Satzprogramms" weitgehend unter "Windows 2000" erstellt worden, ganz so, als hätte es Donald Knuth und sein "TeX" niemals gegeben. Die Gestaltung des Buches selbst ist dann jedoch wieder sehr überzeugend gelungen. Zahlreiche Screenshots und Tabellen stellen komplizierte Zusammenhänge einfach dar, kleine grafische Symbole am Seitenrand erleichtern das Auffinden von Programmierbeispielen, allgemeinen theoretischen Ausführungen, wichtigen Hinweisen (die überdies im Text auch mit einer Schattierung unterlegt sind) und weisen darauf hin, welche PHP-Listings auf der beiliegenden CD-ROM enthalten sind. Auch die im jeweiligen Abschnitt behandelten PHP-Befehle und kurze, das erläuterte Thema umschreibende Stichworte finden sich am Seitenrand. Da in der Praxis gegenwärtig noch die PHP-Version 3 gängig ist, beschränkt sich Krause im eigentlichen Text auch auf diese, schließt jedoch jedem Kapitel - sofern dies relevant ist - eine Ergänzung an, in der er sich mit den Änderungen auseinandersetzt, die mit der (zum Zeitpunkt des Redaktionsschlusses des Buches noch fernen) Einführung von PHP 4 zu erwarten sind. Dabei bleibt er ebenfalls dem auch ansonsten bewährten Konzept, PHP-Befehle unter extensivem Rückgriff auf praktische Beispiele zu erläutern, treu. Abgerundet wird das (außerhalb des vierten Teils) erfreuliche Erscheinungsbild durch ein exzellentes Inhaltsverzeichnis (das überdies auch als kurze Schnellübersicht vorliegt) und einen allemal ausreichenden alphabetischen Index. Alles in allem bekommt man mit "PHP - Grundlagen und Lösungen" also viel Buch für viel Geld. Zum Erlernen der Sprache ist es sicherlich nicht die geeignetste Lektüre, für die tägliche Arbeit des fortgeschrittenen WWW-Gestalters stellt es jedoch eine wertvolle Hilfe dar. Allemal gespannt darf man auf eine etwaige Zweitauflage sein. Denn sind die genannten Mängel - insbesondere mit Blick auf die weitgehend unbenutzbare Referenz - erst einmal abgestellt, wird es sich bei dem Buch um eine wahre Größe im Bereich der PHP-Literatur handeln.

(c) 2000 by Andreas Neumann

Zurück