PHP: Hypertext Preprocessor

Facebook. WordPress. KSWE Intranet.

Was ist PHP?

PHP ist eine serverseitige, interpretierte Skriptsprache. Die Programmiersprache wird somit nicht im Browser ausgeführt, sondern auf dem Server-Host (siehe Abbildung). Der PHP-Interpreter ist das Programm, welches auf dem Server-Host installiert ist und PHP-Code interpretieren kann. Auf dem Server-Host arbeiten nun Webserver und PHP-Interpreter zusammen, um einen Browser-Request zu verarbeiten.

Browser, Webserver und PHP-Interpreter

PHP Logo

PHP Logo

Warum eine Programmiersprache?

Durch die bisherigen Webseiten konnten wir keine Interaktion mit einem Benutzer erzeugen. Für jede Änderung des Inhalts mussten wir die Website anpassen. Viele moderne Websites funktionieren jedoch nicht so. Benutzer ("Surfer") sollen den Inhalt einer Website mitgestalten können. Der Eintrag in einem Gästebuch oder ein Post auf Instagram erstellen sollen durch den Benutzer und nicht nur den Ersteller möglich sein. Damit dies funktioniert, müssen wir eine Programmiersprache einsetzen. Wir lernen in diesem Teil die Grundlagen der Webprogrammierung mit der Programmiersprache PHP.

Was ist eine PHP-Datei?

Eine PHP-Datei besitzt die Dateinamen-Erweiterung .php und kann PHP-Code beinhalten. Nutzt man PHP als Templatesprache (so wie in diesen Unterlagen), dann besteht eine PHP-Datei grösstenteils aus HTML-Code. Durch den Einsatz der PHP-Datei hat man nun jedoch die Möglichkeit, in den HTML-Code PHP-Abschnitte einzufügen. Diese PHP-Abschnitte werden durch den PHP-Interpreter verarbeitet. Den HTML-Code ausserhalb von den PHP-Abschnitten verändert der PHP-Interpreter nicht. Er gibt den HTML-Code unverändert an den Webserver zurück.

Was ist ein PHP-Abschnitt?

Ein PHP-Abschnitt beginnt immer mit dem öffnenden PHP-Tag <?php und endet mit dem schliessenden PHP-Tag ?>. Es ist wichtig, dass hinter <?php ein Leerraum steht (Leerzeichen, Tabulator oder Zeilenumbruch), andernfalls wird das öffnende PHP-Tag nicht erkannt. Durch die PHP-Tags kann der PHP-Interpreter HTML-Code von PHP-Code unterscheiden. Nur der Code innerhalb von PHP-Tags wird durch den PHP-Interpreter verarbeitet.

Beispiel für eine PHP-Datei:

<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <title>PHP-Demo</title>
</head>
<body>
<h1>Dies ist ein Test.</h1>
<p>
   Diese Seite wurde abgerufen am:
   <?php
   $zeitpunkt = date("d.m.Y H:i:s");
   echo $zeitpunkt;
   ?>
</p>
</body>
</html>
Wir können an beliebigen Stellen einen PHP-Abschnitt einbauen und beliebig viele PHP-Abschnitte erstellen. Alle PHP-Abschnitte werden nacheinander, von oben nach unten, verarbeitet.

Wie wird PHP verarbeitet?

Wenn der Browser vom Webserver eine Datei anfordert, muss der Webserver entscheiden, ob der PHP-Interpreter eingesetzt werden muss. Typischerweise wird dies aufgrund der Dateinamen-Erweiterung entschieden.

Der PHP-Interpreter bearbeitet nur PHP-Abschnitte. HTML-Code wird 1:1 in das Ergebnis des PHP-Interpreters kopiert. Besitzt ein PHP-Abschnitt einen echo-Befehl, dann wird die Ausgabe ebenfalls ins Ergebnis aufgenommen. Alle PHP-Befehle werden nicht ins Ergebnis aufgenommen.

Es wird der Code auf der linken Seite durch den PHP-Interpreter verarbeitet. Das Resultat ist "nur" noch HTML und auf der rechten Seite zu sehen (bei einem "echten" PHP-Code wird der Zeitpunkt natürlich angepasst).

<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <title>PHP Demo</title>
</head>
<body>
<h1>Dies ist ein Test.</h1>
<p>
   Diese Seite wurde abgerufen am:
   <?php
   $zeitpunkt = date("d.m.Y H:i:s");
   echo $zeitpunkt;
   ?>
</p>
</body>
</html>
<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <title>PHP Demo</title>
</head>
<body>
<h1>Dies ist ein Test.</h1>
<p>
   Diese Seite wurde abgerufen am: 01.09.2022 19:09:13
</p>
</body>
</html>

Was ist eine dynamische Website?

Eine Webseite, welche durch den PHP-Interpreter erzeugt wird (wenn auch nur teilweise), bezeichnet man als dynamische Webseite. Bei einer statischen Webseite wird lediglich der Inhalt der bereits fertig existierenden HTML-Datei an den Browser übertragen. Nur dynamische Webseiten erlauben es, dass der Benutzer den Inhalt einer Webseite mitgestalten kann. Denn durch die Verwendung einer Programmiersprache (wie PHP) kann man zum Beispiel Inhalt aus Datenbanken (welche sich ändern können) in die Webseite einbinden.

Lernziele

Links