öffentlich
öffentlich
Redaktion Druckversion

PHP lernen (1): Einführung, Installation und erste Schritte

Client-Server-Technologie mit PHP

Weiter oben haben wir die Client-Server-Technologie bereits kurz angesprochen. Wenn Sie mit PHP eine Anwendung programmieren, ist es notwendig, die Funktionsweise von PHP auf dem Webserver genau zu verstehen. Um sinnvoll mit PHP arbeiten zu können, brauchen Sie eine Entwicklungsumgebung, am besten auf Ihrem eigenen Rechner. Diese werden wir im Laufe dieses Kurses aufsetzen. Auch dafür ist es notwendig, die Funktionsweise des World Wide Web und von PHP zu verstehen.

Zum Grundprinzip: Irgendein Internetsurfer tippt eine URL (Uniform Ressource Locator, die eindeutige Adresse einer Webseite) in die Adresszeile seines Browsers (= Client) und schickt diese ab. Dadurch wird eine Anfrage (= Request) an einen Webserver gestartet. Dieser sucht die gewünschten Dateien (HTML-Dateien, Bilder, CSS-Dateien usw.) zusammen und schickt sie zurück an den Client. Enthalten diese Dateien serverseitigen Skriptsprachencode (z. B. PHP, ASP, JSP), wird dieser zunächst vom entsprechenden Parser oder Compiler interpretiert und dann erst werden die generierten (HTML-)Dateien an den Client geschickt. Zum Schluss beendet der Webserver die Verbindung. Dieser Vorgang wiederholt sich bei jedem Klick auf einen Link oder Abschicken einer neuen URL.

Nun noch einmal Schritt für Schritt. Wir betrachten hier nur die Ausgabe der HTML- bzw. PHP-Datei, die dazugehörigen Bilder, CSS-Dateien etc. werden außer Betracht gelassen. In unseren Beispieldateien wird die Ausgabe "Hallo Welt" erzeugt.

Bei einer einfachen HTML-Datei sieht das in etwa so aus:

Funktionsweise einer Browseranfrage

Der Browser des Surfers wird als Client bezeichnet. Der Surfer gibt in die Adresszeile seines Browsers eine URL ein und schickt diese ab. Dieser Request wird durch das WWW auf den Rechner geleitet, der die entsprechende Domain (hier: www.domain.de) verwaltet. Dieser Rechner enthält einen Webserver, oft den Apache, der die angeforderte Datei in seinem Verzeichnis sucht und zurück an den Client schickt. Damit ist der Vorgang beendet. Bei einer erneuten Anfrage startet der Prozess von vorn.

Da es sich hier zunächst nur um eine einfache HTML-Datei handelt, wird der HTML-Code so an den Browser ausgeliefert, wie er zuvor per FTP auf den Webserver gelegt wurde. Der Browser macht aus <p>Hallo Welt!</p> dann die Ausgabe Hallo Welt! in einem eigenen Absatz.

PHP ist eine serverseitig ausgeführte Skriptsprache. Serverseitig heißt, dass der PHP-Code direkt auf dem Webserver vom so genannten Parser interpretiert wird. Dieser PHP-Parser muss auf dem Webserver installiert und konfiguriert sein. Durch die Interpretation des PHP-Codes entsteht quasi eine HTML-Seite on the fly, die an den Client zurückgeschickt wird. Der PHP-Code ist in der interpretierten Seite nicht mehr vorhanden, liegt also nur auf dem Webserver und wird niemals über das Internet verschickt. Die folgende Grafik stellt die Struktur dieses Prozesses dar.

Die Anfrage einer PHP-Datei

Der Client schickt einen Request mit dem URI (Uniform Ressource Identifier, eine bestimmte Datei auf dem Webserver) einer PHP-Datei in das WWW, dieser wird an den Webserver auf dem entsprechenden Rechner geleitet. Der Webserver erkennt an der Dateiendung, dass es sich um eine PHP-Datei handelt und schickt diese vor Auslieferung an den Parser. Dieser liest das PHP-Skript zeilenweise ein. Wenn der Code keine formalen Fehler enthält, entfernt der Parser alle Leerräume und Kommentare und schickt den PHP-Code an den Compiler, der die Anweisungen ausführt, die innerhalb der PHP-Tags (<?...?>) stehen und damit dynamisches HTML erzeugt. Der gegebenenfalls in der PHP-Datei enthaltene statische HTML- und JavaScript-Code, der nicht in PHP-Tags steht, wird unverändert ausgegeben.

Schauen wir uns nun genauer an, was in der PHP-Datei steht. Dazu greifen wir etwas vor, die Syntax wird später noch einmal genauer erläutert. Der Programmcode von PHP kann direkt in den HTML-Code eingebunden werden. Der Code wird durch die Tags <?...?> oder <?php ...?> kenntlich gemacht.

<html>
<head>
<title>Beispiel</title>
</head>

<body>

<?php 
print "Hallo Welt!";
?>

</body>
</html>

Das Beispielskript enthält das Grundgerüst einer HTML-Datei. Im Body-Tag steht ein Container für PHP-Code. Dieser enthält nur eine Zeile, die mit print die Zeichenkette "Hallo Welt!" ausgibt.

Eine Datei, die PHP-Code enthält, wird mit der Dateiendung .php (oder .php3, .php4 oder .php5, je nach Einstellung des Webservers, dazu später mehr) abgespeichert.

Fordert nun ein Client eine PHP-Datei an, wird die Datei mit dem oben gezeigten Quellcode an den Parser geschickt. Der Parser prüft auf formale Fehler und gibt den Code dann an den Compiler weiter. Aus der Antwort des Compilers erzeugt der Webbrowser folgenden Quellcode, den er an den Client zurückschickt:

<html>
<head>
<title>Beispiel</title>
</head>

<body>

Hallo Welt!

</body>
</html>

Diesen generierten Quellcode sehen Sie nur, wenn Sie die PHP-Datei mit einem Browser über einen Webserver aufrufen und dann zum Beispiel über die rechte Maustaste die Ansicht des Quelltextes auswählen.

Die HTML-Seite, die durch das PHP-Skript generiert wird, kann natürlich alle Elemente enthalten, die der Browser versteht - also auch Bilder, JavaScript, CSS usw.

Um PHP-Skripte zu entwickeln, brauchen Sie eine Testumgebung. Das kann ein Bereich sein, den Ihnen in der Firma der Systemadministrator einrichtet, oder Sie installieren und konfigurieren sich Ihr eigenes System auf Ihrem Rechner. Das ist kein großes Problem. Sie richten sich auf Ihrem Rechner lokal einen Webserver ein, der PHP enthält.

Lokal bedeutet, dass die Struktur, die oben erläutert wurde, auf einem einzigen Rechner umgesetzt wird. Im Prinzip können Sie PHP auch ohne Webserver über die Kommandozeile laufen lassen. Da wir aber Webseiten entwickeln wollen, brauchen wir zum Testen sinnvoller weise auch einen Webserver und einen Browser. Sie installieren also die Software für einen Webserver auf dem gleichen Rechner, auf dem Sie die PHP-Skripte entwickeln und anschließend mit einem Browser die Anfragen (Requests) an den Webserver stellen, ohne eine Internetverbindung herstellen und ohne die Dateien auf einen FTP-Server übertragen zu müssen.

Es ist übrigens egal, ob sich der Browser physikalisch auf dem gleichen Rechner befindet wie der Webserver - wie Sie es auf Ihrem lokalen Testsystem haben werden - oder ob der Browser auf einem ganz anderen Computer sich über das Internet mit dem Computer verbindet, auf dem der Webserver läuft. Allein die Geschwindigkeit unterscheidet sich. Ihre Anwendungen laufen lokal natürlich wesentlich schneller, als wenn sie über das Internet aufgerufen werden. Sie können also zum Entwickeln auf einem lokalen System arbeiten und anschließend die Dateien per FTP komplett auf einen Webserver im Internet übertragen.

Mitglied werden, Vorteile nutzen!

  • Sie können alles lesen und herunterladen: Beiträge, PDF-Dateien und Zusatzdateien (Checklisten, Vorlagen, Musterbriefe, Excel-Rechner u.v.a.m.)
  • Unsere Autoren beantworten Ihre Fragen

Downloads zu diesem Beitrag

Newsletter abonnieren