decocode decocode deco    

PHP: Grundlagen #

Funktionsweise von PHP #

Während HTML lediglich eine Auszeichnungssprache für Dokumente ist, handelt es sich bei PHP um eine richtige Programmiersprache, die in erster Linie dazu konzipiert wurde, dynamischen HTML-Code zu erzeugen.

Zunächst muss man verstehen, dass PHP-Skripte serverseitig ausgeführt werden und die Ergebnisse des Skripts dann an den Benutzer geschickt werden. Im Gegensatz zu HTML wird also nicht die ursprüngliche Datei gesendet, sondern der Code, der mit Hilfe von PHP erzeugt wurde. Eine lokal erstellte PHP-Datei kann also nicht wie ein HTML-Dokument im Browser über den Menüpunkt ›Datei öffnen…‹ geladen werden, da auf diesem Wege der Server umgangen und das PHP-Skript nicht ausgeführt wird. Daher benötigt man einen lokalen Server wie z. B. LAMP. Hat man diesen Server erfolgreich auf dem eigenen Rechner installiert, kann man eigene Skripte nun über das Protokoll http aufrufen. Die Host-Adresse für den eigenen Rechner ist dabei dann http://localhost/, wobei sich das Rootverzeichnis für diesen Host auf Unix-Systemen standardmäßig im Verzeichnis var/www/ befindet. Dort sollten wir also unsere weiteren Unterverzeichnisse für die PHP-Dateien anlegen. Wenn wir nun z. B. eine Datei var/www/my_website/index.php haben, dann lautet der URL dieser Datei http://localhost/my_website/index.php

Der Server erkennt nun eine PHP-Datei an dessen Endung .php, wodurch das Skript serverseitig ausgeführt wird. Eine solche Datei kann auch HTML-Code enthalten, der normal übertragen wird. Prinzipiell kann man HTML-Dokumente auch gleich mit der Endung .php versehen, selbst wenn kein einziger PHP-Code darin enthalten ist. Sollte dies aber später eventuell nachgeholt werden, so spart man sich auf diese Weise die Anpassung anderer Dokumente, die auf diese Datei verweisen. Ist kein PHP-Code in einer solchen Datei enthalten, wird die Seite normal als HTML dargestellt.

Um die Abschnitte einer Datei, die den PHP-Code enthalten, vom HTML-Code zu unterscheiden, werden diese in ein eigenes Script-Tag eingeschlossen, wobei sich der gesamte Code innerhalb einer Tag-Klammer befindet. Zur Veranschaulichung der Syntax hier ein Beispiel:

Quelltext auswählen
1
2
3
4
5
6
7
<html>
  <head>
  </head>
  <body>
<?php echo "<h1>PHP-Test</h1>"; ?>
  </body>
</html>

Das gesamte PHP-Skript steht zwischen den Klammern <?php und ?>. Da man in der Regel wesentlich mehr als eine Code-Zeile haben wird, lässt sich die Klammer auch über mehrere Zeilen ausdehnen:

Quelltext auswählen
1
2
3
4
5
6
7
8
9
10
11
12
<html>
  <head>
  </head>
  <body>
<?php
  echo "<h1>PHP-Test</h1>";
  echo "<p>Dies ist nur ein Test.</p>";
  $a = 100; $b = 4;
  echo "<p>Der Quotient von 100 / 4 ist gleich ".($a/$b).".</p>";
?>
  </body>
</html>

Eine separate PHP-Datei kann man auch über die Funktion include() einbinden. Dies hat die selbe Wirkung, als hätte man den Quelltext dieser Datei direkt zwischen den HTML-Code geschrieben. Üblicherweise erhalten solche Dateien zur Unterscheidung die Endung .inc.php. Technisch ist das aber nicht notwendig.

Bei der Verwendung von include() wird das Skript fortgesetzt, auch wenn die Datei, die inkludiert werden soll, nicht existiert. Soll das Skript aber in einem solchen Fall abgebrochen werden, so verwendet man statt include() die Funktion require().

Quelltext auswählen
1
2
3
4
5
6
7
<html>
  <head>
  </head>
  <body>
<?php include("test.inc.php"); ?>
  </body>
</html>

Kommentare #

Will man das Skript mit einem Kommentar versehen, so gibt es zwei Möglichkeiten. Als Kommentar gekennzeichnete Bereiche werden bei der Ausführung des Skriptes ignoriert. Auf diese Weise können auch leicht Skript-Passagen vorübergehend ›deaktiviert‹ werden. Diese Praxis nennt man ›Auskommentieren‹.

Quelltext auswählen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<html>
  <head>
  </head>
  <body>
<?php
  // Mein erstes PHP-Skript
  /* noch eine Zeile Kommentar */
  echo "<h1>PHP-Test</h1>";
  echo "<p>Dies ist nur ein Test.</p>";
  $a = 100; $b = 4;
  /*
  $a = 500; $b = 3;
  */
  echo "<p>Der Quotient von 100 / 4 ist gleich ".($a/$b).".</p>";
?>
  </body>
</html>

Kommentare stehen entweder hinter zwei Schrägstrichen // oder zwischen /* und */. Die zweite Variante kann auch verwendet werden, wenn sich der Kommentar über mehr als eine Zeile erstreckt.

Wie man beim Aufruf dieses Beispiels sehen kann, wird Code innerhalb eines Kommentars ignoriert.

Im Beispiel ist bereits ein PHP-Befehl dargestellt. Der wohl wichtigste Befehl, um Code auszugeben ist echo. Alles, was nach echo folgt, wird als Dokumenteninhalt ausgegeben. Das können Zahlenwerte, die Inhalte von Variablen aber auch normaler Text sein, wobei dieser dann in Anführungszeichen stehen muss. Unterschiedliche Typen werden mit einem Punkt . verbunden. Rechenoperationen werden in runde Klammern () gesetzt.

Es können immer auch mehrere Befehle in einer Zeile stehen. Ein Befehl wird immer mit einem Semikolon ; am Ende abgeschlossen. PHP ist bezüglich Leerzeichen und Groß-/Kleinschreibung recht tolerant, doch sollte man sich aus Gründen der Lesbarkeit der eigenen Skripte eine einheitliche Schreibweise angewöhnen. Üblich sind für alle Befehle Kleinbuchstaben. Bei Variablennamen werden große und kleine Buchstaben allerdings unterschieden: $A ist eine andere Variable als $a.

Und wo wir schon dabei sind, geht’s gleich weiter mit ›Arbeiten mit Variablen‹.