PHP - Hypertext Preprocessor

Was ist PHP?   [ überspringen ]
PHP ist eine in der Syntax stark an Perl angelehnte serverseitige Scriptsprache. HP steht für Hypertext Preprocessor, und das sagt doch schon eine Menge: Mit PHP kann serverseitig HTML-Code generiert und an den Client verschickt werden.
    Was heißt serverseitig? Im Gegensatz zu z. B. Javascript, das direkt im Client-Browser, auf dem Client-Computer abläuft, läuft PHP direkt auf dem Server. Daraus bereits ergeben sich eine Reihe von Unterschieden: PHP kann nicht unmittelbar auf Ereignisse (Interaktionen im Document) reagieren, und es kann nicht auf Objekte des Browsers (window, document) oder DHTML-Tags zugreifen.
    Was kann PHP überhaupt? PHP kann Formulare und Passwörter auswerten und auf eine Datenbank zugreifen. Also all die Dinge, die ein Clientseitiges Programm gar nicht können darf (es wäre ja schlimm, wenn jeder Anwender auf Serverdatenbänke zugreifen und Passwörter einsehen könnte usw.). Und dafür hat PHP ganz spezielle Funktionen.
    Eine Stärke ist das einfache Auswerten eingesandter Formulare. Jeder, der schon mal versucht hat, ein Formular mit JavaScript oder Visual Basic auszuwerten, weiß wovon ich rede. In PHP stehen die Formular-Eingaben automatisch als Variable zur Verfügung.
    Für den Zugriff auf Datenbänke stehen zahlreiche Schnittstellen zur Verfügung. Eingebettet in so eine Schnittstellenfunktion werden dann die eigentlichen SQL-Kommandos übergeben. (Wer noch nichts mit Datenbänken zu tun hatte, ist jetzt verwirrt, aber die praktische Anwendung ist einfacher, als es hier klingt.)
 
Die einzige Interaktion (mit Clienteingaben) die PHP kennt, ist das clientseitige Aufrufen von PHP-Dateien, und das Zurücksenden von mit PHP generiertem HTML-Code. Das ist aber schon eine ganze Menge, und dafür ist PHP optimiert. In der Praxis heißt das, daß z. B. unmittelbar auf Formulare und individuelle Anforderungen reagiert werden kann, daß Suchergebnisse zusammengefaßt und zurückgesandt werden können, sowie daß Seiten automatisch oder interaktiv mit Informationen aus Datenbänken aktualisiert werden können. Einfache Anwendungen wären z. B. Gästebücher, Verwaltung von Kontaktanzeigen, Gesuchen, Verwaltung von Bestellungen, Anzeige von Börsenwerten usw.
 
Was ist der Unterschied zu Perl? Perl-Programme sind als spezielle Scripte in speziellen Ordnern (cgi) abgelegt. PHP wird dagegen (ähnlich wie JavaScript) direkt in den normalen HTML-Quelltext eingebettet. Das bedeutet einen erheblichen Vorteil, weil gleichbleibende HTML-Bestandteile direkt (auch z. B. in einem graphischen Editor) erstellt werden können, und nicht die komplette Datei erst zur Laufzeit generiert werden muß. PHP befindet sich also in der normalen HTML-Datei, im normalen Ordner der Website. Darüber hinaus wurde PHP im Bezug auf Sicherheit und Ausführungs-Geschwindigkeit gegenüber Perl verbessert.
 
Entscheidung für PHP:
Wenn auf Eurem Server bereits ein PHP-Interpreter installiert ist: Unbedingt nutzen! Da führt kein Weg dran vorbei, und die Möglichkeiten die sich Euch bereits mit geringem Know How erschließen sind gewaltig.
    Wenn es keine PHP-Unterstützung gibt, müßt ihr mit Eurem Provider klären, ob es von Euch installiert werden kann, und beim Provider und auf der PHP-Seite die dafür notwendigen Informationen und das Programm besorgen. Dieser Weg ist nicht ganz einfach, und funktioniert nicht bei allen Servern und Providern. In jedem Fall müßt ihr dann prüfen, ob ihr PHP unbedingt braucht, und ob der Ärger und Aufwand lohnt, denn das meiste geht auch mit CGI, nur umständlicher.
 
Geringer Einsatz, großer Effekt; praktische Nutzung von PHP:
Gesetzt den Fall, euer Server hat einen PHP-Interpreter. Dann gleich in die vollen. Ein bißchen "zaubern" mit PHP.
Grund-Infos im Crashkurs:
Ausführliche PHP-Referenz findet ihr bei:
http://snaps.php.net/manual/

Ein weiteres Leistungsfähiges Feature von PHP ist die Verbindung zu Datenbanken, so daß Datenbank-Inhalte interaktiv in die HTML-Seiten integriert werden können, bzw. Formular-Eingaben problemlos an Datenbanken übergeben werden können. Das zeige ich am Beispiel MySQL im folgenden Kapitel:

PHP und MySQL
(in Vorbereitung)
Informationen über MySQL bei:
http://www.mysql.com/documentation/
kurzes MySQL-Tutorial hier
PHP-Referenz:
http://snaps.php.net/manual/
 
PHP und JavaScript
Laßt JavaScript, was des JavaScriptes ist. So ähnlich sprach schon Cäsar. Viele PHP-Scripte versuchen Komplettlösungen zu bieten, was natürlich für den Webmaster (Homepage-Besitzer) ein Vorteil ist, da er nichts mehr koordinieren muß, und das Script außerdem für alle Browser kompatibel ist, da es ja serverseitig interpretiert wird (und nicht durch unterschiedliche Client-Browser).
    Dem stehen aber eine Reihe gravierender Nachteile gegenüber. Der erste ist die Ausführungsgeschwindigkeit. Im Normalfall ist ein Server (aufgrund der großen Auslastung) immer langsamer, als ein einzelner Client-Computer. Zudem kann der Client-Browser Entscheidungen "vor Ort" treffen, während der PHP-Server Dialoge stets über die enge Daten-Autobahn des Internet führen muß. Für viele Zwecke also ist JavaScript geeigneter, da schneller und komfortabler als PHP (auch für den Programmierer, da JavaScript für einige Zwecke sehr mächtige Funktionen zur Verfügung stellt). z. B. was das Überprüfen von Formular-Eingaben angeht. JavaScript entdeckt Fehler sofort, kann beim Auswerten der Formular-Eingaben auf die mächtigen Funktionen des String-Objektes zugreifen, und Fehleingaben monieren oder automatisch korrigieren.
    PHP müßte demgegenüber zunächst das Formular übersandt werden, dann die Eingabe-Strings mit den komplizierten PHP-String-Funktionen überprüft werden, dann eine Korrektur-Aufforderung generiert und wieder zurückgesandt werden. Das geht, ist aber sehr umständlich und langsam.  Jede Programmiersprache sollte sich auf das beschränken, was sie am besten kann!
 
Also: JavaScript für clientseitige Interaktion und zur Überprüfung von Formular-Eingaben, PHP für serverseitige Formular-Auswertung und Abrufe aus Datenbanken. Hier können JavaScript und PHP Hand in Hand arbeiten. Sie können sogar "verflochten" arbeiten:
    JavaScript kann zur Laufzeit Variable generieren, und über Location.href (alsAnhang mit Fragezeichen, s. o.) an ein PHP-Script übergeben, und PHP wiederum kann JavaScript-Tags mit fallspezifischen JS-Funktionen generieren, die dann clientseitig Aufgaben erledigen. Solche Verflechtungen beider Programmiersprachen sind die schnellste, komfortabelste und Leistungsfähigste Lösung. Mein Gästebuch basiert auf solcher Zusammenarbeit, ebenso wie meine Download-Seiten (Moon-Applet, PacMan ).

 

 

HOME