close

Anmelden

Neues Passwort anfordern?

Anmeldung mit OpenID

1.1 Was ist PHP? - Buecher.de

EinbettenHerunterladen
1.1 Was ist PHP?
27
1
1.1 Was ist PHP?
PHP ist eine Skriptsprache zur Erstellung dynamischer Websites, nicht PHP ist eine
mehr, aber auch nicht weniger. Die erste Version entwickelte 1994 Ras- Skriptsprache
mus Lerdorf, der eigentlich nur eine Möglichkeit zur Programmierung
seines eigenen Webservers suchte. Er nannte seine kleine Skriptmaschine
»Personal Home Page Tools«. Die Applikation stellte er ins Netz und ließ
die freie Verbreitung zu. So entstand PHP, als Abkürzung zu »Personal
Home Page«. Später entwickelten die Open Source-Jünger, bekannt für
kryptische Akronyme, die rekursive Version »PHP HyperText Preprocessor«. Einen offiziellen Namen gibt es darüber hinaus nicht.
Den Weg zum professionellen Programm ging PHP erst 1995. Unter dem 1995: PHP/FI
Namen PHP/FI (Personal Homepage Tools/Form Interface) wurde die
erste wirklich nutzbare Version veröffentlicht. PHP/FI wird als Version 2
angesehen. PHP entwickelte sich seit dieser Zeit rasant weiter. Zum einen
trug dazu die freie Verfügbarkeit bei. Die ist bei ASP und bei Perl aber
auch gegeben. PHP ist im Gegensatz dazu eine Sprache, deren einziger
Zweck das Web ist. ASP kommt mit VBScript daher, einem BASICDerivat, das nur schwer an die Bedürfnisse eines Webservers angepasst
werden kann. Moderne Sprachelemente wie die objektorientierte Programmierung sind nur unvollkommen umgesetzt. Der größte Nachteil ist
aber die Einschränkung auf Microsoft-Plattformen. Perl wurde schon
1986 von Larry Wall entworfen, zu dieser Zeit war das Web noch unbekannt. Die starken Zeichenkettenfunktionen und die freie Verbreitung als
Open Source machten Perl den Weg ins Web frei. Leider ist die Lesbarkeit nicht einfach und die Programmierung vor allem für Anfänger sehr
kompliziert.
Aus der Beobachtung der Nachteile entstand eine Skriptsprache, die alle Vorteile
Vorteile der Konkurrenten in sich vereint – PHP. Zum einen wird die von
ASP bekannte einfache Kombination mit HTML genutzt, zum anderen
die leistungsstarke und verbreitete C-Syntax, die vielen schon von JavaScript oder Java bekannt ist. Objektorientiertes Programmieren ist
möglich, ebenso wie eine gute Modularisierung.
PHP besticht außerdem durch einen fast schon grandiosen Funktionsumfang. Hier kann keine andere Sprache mithalten. Wo immer ein Programmierer ein Problem zu lösen hatte, wurde der Funktionsumfang
erweitert. Besonders deutlich wird dies bei den Datenbankfunktionen.
PHP unterstützt mehr Datenbanken direkt, als die meisten Programmierer überhaupt vom Namen her kennen. Den Erfolg macht nicht zuletzt
auch die gute Unterstützung für die Datenbank MySQL aus, die wie PHP
auch als Open Source verfügbar ist.
Seit Mitte 1997 wird PHP von einem Team an Programmierern rund um
Rasmus Lerdorf weiterentwickelt. Mit der Version 3 stand bereits Anfang
1999 ein System zur Verfügung, das keine Konkurrenz seitens Perl oder
ASP mehr fürchten muss.
1997: PHP3
28
2000: PHP4/ZEND
1 Einführung
Der nächste Schritt, PHP4, wurde im Jahr 2000 vollendet. Dieses Buch
geht vollständig auf PHP4 ein. Im Zusammenhang mit PHP4 ist oft auch
von ZEND die Rede. ZEND ist ein Kunstwort aus »ZEev« und »aNDi«,
den Vornamen der Entwickler Zeev Suraski und Andi Gutman. ZEND ist
aber keine Konkurrenz zu PHP, sondern der Kernel der neuen Version
PHP4. ZEND ist deutlich schneller und leistungsfähiger als PHP3 und
besticht durch weitere Eigenschaften wie einen internen Compiler, der
den Vorsprung vor anderen Skriptsprachen noch größer werden lässt.
Zusätzlich gibt es einen »Optimizer«, der die Leistung der Skripte nochmals verbessert.
In diesem Buch ist von PHP3 und PHP4 die Rede, Unterschiede werden
klar herausgestellt. Erfolgt keine Unterscheidung, sind beide Versionen in
diesem Punkt kompatibel. Grundsätzlich bildet PHP4 aber den Schwerpunkt, die beiliegenden Skripte wurden nicht alle mit PHP3 getestet.
1.2 Zielgruppe
Für wen ist dieses
Buch?
Sie programmieren HTML-Seiten? Sie möchten Ihren Webserver selbst
programmieren? Sie möchten Ihre Seiten mit Datenbanken aufwerten?
Dann sind Sie die Zielgruppe.
PHP ist eine umfangreiche, leistungsstarke Skriptsprache zur Programmierung dynamischer, datenbankgestützter Websites. Das klingt komplizierter, als es ist. Mit Hilfe dieses Buches sollten auch Webdesigner, die
bisher keine Erfahrung mit der Programmierung hatten, in die Welt der
Webserverprogrammierung eintauchen können. Ich habe das Buch so
aufgebaut, dass in den ersten Abschnitten keine Kenntnisse – abgesehen
von HTML – vorausgesetzt werden. Profis, die andere Programmiersprachen kennen, sei die Cross-Referenz im Anhang ans Herz gelegt. Dort
finden Sie eine Gegenüberstellung gängiger Befehle aus Perl, JavaScript
und VBScript mit den Entsprechungen in PHP. Mit dieser Hilfe können
Sie Skripte leicht übertragen.
Betriebssystemkenntnisse
Betriebssystemkenntnisse sind ebenfalls vorauszusetzen, die Plattform ist
bei PHP fast freigestellt. Da der PHP-Prozessor als C-Quelltext vorliegt,
kann er leicht auf alle Plattformen übersetzt werden. Entsprechend groß
ist die Auswahl an Binärdistributionen. Wenn Sie mit Windows vertraut
sind, sollten Sie PHP unbedingt auch unter Windows entwickeln. Haben
Sie mehr für Linux übrig, nutzen Sie dies auch als Entwicklungsplattform. Das gilt gleichermaßen für alle anderen Systeme. Dieses Buch entstand in weiten Teilen auf einem Windows-System (Windows 2000), was
aber mehr an der Verfügbarkeit eines geeigneten Satzprogramms lag. Die
Hauptplattform dürfte Linux sein, an entsprechenden Stellen wird auf
Besonderheiten eingegangen.
Was es nicht gibt
Wer PHP bereits gut kennt und Informationen für HardcoreProgrammierer erwartet, wird etwas enttäuscht sein. Zum einen bietet
das Buch trotz beachtlichen Umfangs nicht unbegrenzt Platz. Zum anderen sind es nur sehr wenige Personen, die Bedarf an einem sehr tiefen
Einstieg in PHP haben. Die benötigten Informationen sind dann aber nur
2.1 Erforderliche Kenntnisse
45
2.1 Erforderliche Kenntnisse
Um den Sinn der dynamischen Seiten zu verstehen, ist für alle Einsteiger
ein kurzer historischer Rückblick zu empfehlen. Um die Beispiele zu
verstehen, sollten Sie über elementare Kenntnisse in HTML verfügen.
Rückblick
Am Anfang bestand das World Wide Web (WWW), auch aufgrund sei- Was ist Hypertext?
ner ursprünglichen Definition, aus statischen, miteinander verlinkten
Seiten. Auch heute noch sind die allermeisten Präsenzen so aufgebaut.
Als Protokoll zwischen Webserver und Browser dient das Hypertext
Transfer Protocol (HTTP). Über dieses Protokoll fordert der Browser eine
bestimmte Seite an, und der Server reagiert darauf mit der Übertragung
der entsprechenden Seite oder einem Fehler, wenn die Seite nicht gefunden wurde. Hyperlinks sind Verweise in statischen Webseiten, die auf
andere Dateien im Web zeigen und solche Übertragungsprozeduren
auslösen. Mit der Hypertexttechnik kann man durchaus anspruchsvolle
Webseiten erstellen. Der Schwerpunkt der Entwicklung lag jedoch auf
der puren Informationsvermittlung. Hyperlinks erlauben es Dokumenten, den Leser in gewisser Weise zu führen. Der Zugriff auf verwandte
Informationen erleichtert die Verarbeitung von Inhalten. Hypertextsysteme sind für das Lesen von Texten am Bildschirm gedacht und strukturieren Dokumente anders als Bücher. Von der grundsätzlichen Idee her
ist damit aber die Zielrichtung vorgegeben: Informationsvermittlung. Ein
bekanntes Hypertextsystem ist beispielsweise auch die Windows-Hilfe.
Mit der Entwicklung des Webs zu einem Medium der Werbung und
Präsentation auf der einen Seite, zu einer direkten interaktiven Einbeziehung des potenziellen Kunden auf der anderen Seite war jedoch der
klassische Hypertext, geschrieben in der Hypertext Markup Language
(HTML), den Anforderungen nicht mehr gewachsen. Aufgrund der Historie sind nie ernsthafte Versuche unternommen worden, neben HTML
einen neuen Standard für Webseiten zu kreieren, der die Hypertextstruktur um echte Interaktion ergänzt. So sind im Laufe der letzten Jahre die
verschiedensten Systeme entstanden, die außerhalb HTML arbeiten und
den Webservern die so dringend benötigte Interaktivität verleihen. Die
bekanntesten Beispiele sind CGI-Programme und webserverspezifische
Applikationen, die spezielle Schnittstellen benutzen. Das Common Gateway Interface (CGI) stellt eine genormte Schnittstelle zwischen den CGIProgrammen und dem Webserver dar. Häufig wird dazu die Skriptsprache Perl eingesetzt. Perl ist als Interpreter konzipiert (wie alle Skriptsprachen) und die Skripte laufen als eigenständige Programme ab, gestartet
durch eine Anforderung des Browsers. Das Ergebnis können Zugriffe auf
interne Funktionen des Servers oder Ausgaben in HTML sein. Die Programmierung ist verhältnismäßig komplex und die Erzeugung graphisch
ansprechend gestalteter HTML-Seiten extrem aufwändig, denn jeder
einzelne HTML-Befehl wird einzeln erzeugt und dann zum Webserver
gesendet. Auch die Erzeugung von speziellen, nativen Programmen, die
auf die Interfaces der Webserver direkt zugreifen, ist kompliziert und der
2
46
2 Vorbereitung und Installation
professionellen Programmierung vorbehalten. So stellt Microsoft mit
dem Internet Information Server das Information Server Application
Programming Interface (ISAPI) zur Verfügung, Netscape mit seinen
Webservern das Gegenstück Netscape Server Application Programming
Interface (NSAPI). Praktisch sind APIs Sammlungen von Bibliotheksfunktionen (Dynamic Link Libraries, DLL), auf die Programmierer zurückgreifen können, die Anwendungen in richtigen Programmiersprachen schreiben, beispielsweise C++. Auch diese Programme erzeugen
HTML aber nur seriell über eine bestimmte Ausgabeprozedur, wenngleich sich damit natürlich schnelle und komplexe Anwendungen entwickeln lassen.
Ausblick
Für den Praktiker, der als Webdesigner oder Webprogrammierer schnell
umfangreiche Anwendungen für das Internet produzieren muss, sind
CGI-Applikationen oft zu aufwändig. Auch sind bei dem heute stark
präsentationsgeprägten Web eher gute Multimediadesigner gefragt als
der klassische Programmierertyp. Trotzdem sollen die Webseiten interaktiv sein, auf Aktionen des Nutzers also reagieren können, es sollen
Zugriffe auf Datenbanken möglich sein, und die Eingaben der Nutzer
sollten ebenso in Datenbanken gespeichert werden können. Eine solche
einfache, aber zugleich leistungsfähige Schnittstelle stellen die Skriptsprachen dar, die direkt in die HTML-Seiten eingebunden werden. Eine
der effizientesten ist PHP.
Um mit PHP arbeiten zu können, sind im Vorfeld also nur HTMLKenntnisse nötig, und das auch nur in dem Umfang, wie es die gewünschten Webseiten erfordern. Wer anspruchsvolle Seiten mit Cascading Style Sheets, Dynamic-HTML und JavaScript erstellen will, sollte
diese Elemente beherrschen. PHP bietet dazu nur selten eine Alternative.
PHP ist kein Gestaltungselement. Was der Browser sieht, ist pures HTML
mit seinen diversen Erweiterungen, Verbesserungen und irgendwann
sicher Nachfolger wie XHTML. Aber PHP ist in HTML integriert und
ordnet sich der Logik der HTML-Seite unter. Und PHP benötigt keine
bestimmte browserseitige Technik, kann also mit jedem Standardbrowser
arbeiten.
Mit der Kombination aus MySQL und PHP haben Sie die Technologie,
um datenbankgestützte Websites zu erstellen.
2.1.1
Grundbegriffe
Lernen Sie die Grundbegriffe kennen, die im Zusammenhang mit dem
Internet immer wieder genannt werden. Das Verständnis der Technik
hilft, Probleme bei der Programmierung zu erkennen und die Reaktionen
der Server zu verstehen. Vorgestellt werden auch die wichtigsten Protokolle auf einfachem Niveau. Bei der Erläuterung der darauf direkt Bezug
nehmenden Funktionen werden diese Grundlagen weiter vertieft, insofern ist ein wenig Redundanz beabsichtigt.
3.1 Aufbau der Skripte
89
3.1 Aufbau der Skripte
Dieser Abschnitt zeigt, wie Skripte aufgebaut sind, wo und wie Sie PHP
schreiben und welche Zusammenhänge es zwischen PHP, HTML und
JavaScript gibt.
3.1.1
Wo wird programmiert?
PHP ist eine Skriptsprache, deren Elemente direkt in HTML-Seiten eingebaut werden. Durch die Dateierweiterung .PHP, .PHP3, .PHP4 oder
.PHTML wird dann daraus eine PHP-Skriptdatei. Um PHP-Skripte ablaufen lassen zu können, muss ein entsprechend eingerichteter Server vorhanden sein. Wie das für ein Entwicklungssystem aussieht, wurde bereits
in Kapitel 2 behandelt.
Schreiben können Sie PHP mit allen gängigen Editoren. Wenn Sie an
speziellen Features wie Syntaxhervorhebung oder automatische Vervollständigung interessiert sind, sieht das Angebot noch etwas dürftig aus.
Im Gegensatz zu JavaScript oder VBScript ist PHP noch relativ wenig
verbreitet. Die Zunahme an PHP-Sites ist aber augenfällig und die Softwarehersteller werden ihre Produkte sehr schnell umstellen. Einige heute
verfügbare Editoren werden in Kapitel 10 Entwicklungsumgebungen vorgestellt.
Sie können PHP am einfachsten über den Webserver ausführen. Grund- PHP ausführen
sätzlich lassen sich zwar Skripte auch über die Shell starten, dies macht
jedoch wenig Sinn, denn die HTML-Ausgaben werden fortlaufend am
Bildschirm ausgegeben.
Beachten Sie, dass der Webserver nicht mit einem lokalen Pfad angesprochen werden kann. Sie müssen eine URL eingeben. Den lokalen Rechner
erreichen Sie normalerweise als »localhost«.
3.1.2
PHP und HTML
PHP wird im Gegensatz zu Perl nicht als eigenständiges CGI-Programm
ausgeführt, sondern direkt im HTML-Code untergebracht. Dazu muss
natürlich eine Möglichkeit geschaffen werden, wie der PHP-Prozessor
die für ihn bestimmten Seiten erkennt und interpretiert.
Dateierweiterung
Der erste Schritt besteht in der Benennung einer HTML-Seite mit einer
anderen Dateierweiterung. Die kennen bisher Erweiterungen wie *.HTM
oder *.HTML. Sie können jede HTML-Datei einfach mit der Erweiterung
*.PHP3 (PHP3), *.PHP4 (PHP4) oder *.PHP (PHP3 und PHP4) versehen.
Jetzt wird bei einem Aufruf dieser Datei der Webserver die Seite nicht
sofort zum Browser senden, sondern zuerst an den PHP-Prozessor übergeben. Der PHP-Prozessor arbeitet im Apache als Modul oder als exter-
3
90
3 Erste Schritte mit PHP
nes CGI-Programm. PHP3 unter Windows kann nur über CGI angesprochen werden. PHP4 gibt es auch als ISAPI-Anwendung.
Der PHP-Prozessor arbeitet nun die Datei von oben nach unten ab. Reine
HTML-Seiten wird er unverändert wieder zurückgeben. Sie werden
davon nichts bemerken, abgesehen von der höheren Belastung Ihres
Servers und, bei langsamen Maschinen, einer verringerten Ausgabegeschwindigkeit.
Finden sich in der Datei PHP-Anweisungen, werden diese erkannt, ausgewertet und ausgeführt.
PHP einbinden
Es gibt insgesamt vier Möglichkeiten, PHP in der Seite unterzubringen.
Damit ist PHP die universellste aller Skriptsprachen.
SGML-Style
Die erste ist der sogenannte SGML-Style:
<?
// hier steht der Code
?>
XML-Style
Da sich XML als erweiterter Standard etablieren wird, können Sie die
dort übliche Notation auch in PHP nutzen:
<?PHP
// hier steht der Code
?>
oder
<?php
// hier steht der Code
?>
ASP-Style
ASP-Programmierer sind typische Umstiegskandidaten für PHP. Damit
es nicht so schwierig wird, können Sie die bei ASP übliche Symbolik ab
PHP Version 3.0.4 ebenso nutzen:
<%
// hier steht der Code
%>
Um ASP-Style-Tags nutzen zu können, muss die Option asp_tags in der
PHP.INI auf On stehen.
Beachten Sie, dass öffentliche Webserver bei Providern oft auf Linux
basieren und dort die Nutzung der ASP-Styles nicht erlaubt ist, und Sie
dies ohne Zugriff auf die PHP.INI auch nicht ändern können. Diese Option
ist deshalb nicht empfehlenswert!
Wenn Sie bereits mit JavaScript gearbeitet haben, wird Ihnen die folgende Version vielleicht besser gefallen:
Document
Kategorie
Internet
Seitenansichten
11
Dateigröße
138 KB
Tags
1/--Seiten
melden