Websiteentwicklung: PHP: Praktische Einführung: Erste Schritte

Dies wäre keine Einführung in eine Programmiersprache ohne ein Hallo-Welt-Programm. Öffne einen Texteditor deiner Wahl, der, wie bereits erwähnt, Syntax-Highlighting anbieten sollte, und gib den folgenden Code ein:

<html>
  <head>
    <title>Erste Schritte</title>
  </head>
  <body>
    <p><?php echo 'Hallo Welt!'; ?></p>
  </body>
</html>

Die Zeichen um Hallo Welt werden einfache Anführungszeichen genannt (obwohl sie technisch eigentlich ein Sekundenzeichen sind) und befinden sich normalerweise auf der Raute-Taste.

Speichere dieses Skript nun im Ordner "tutorial/index.php" im Document-Root deines Webservers ab ("htdocs" in XAMPP/LAMPP) und rufe es auf.

Als Ausgabe erhältst du:

 Hallo Welt!
Hinweis

Wenn dir statt der Ausgabe angeboten wird, die Datei "index.php" herunterzuladen, ist etwas bei der Konfiguration des Webservers schief gelaufen. Verwendest du XAMPP/LAMMP, überprüfe, ob der Apache gestartet ist und du die Datei über http://localhost aufrufst.

Dieselbe Ausgabe hättest du auch mit HTML allein erreichen können. Tatsächlich kommt beim Benutzer nur HTML-Code an, denn PHP-Code wird auf dem Server ausgeführt und nur die Ausgabe an den Browser gesendet.

PHP-Tags Bearbeiten

Alle PHP-Anweisungen müssen in PHP-Tags stehen. Der Anweisungsbereich beginnt mit <?php und endet mit ?>. Alles, was sich außerhalb von PHP-Tags befindet, wird vom Interpreter direkt ausgegeben und ansonsten ignoriert. Das kann HTML, XML usw. sein. Innerhalb der PHP-Tags darf nur gültiger PHP-Code stehen. In einem PHP-Dokument kann es beliebig viele PHP-Tags geben. Das ist also problemlos möglich:

<html>
  <head>
    <title><?php echo 'Mehrere PHP-Tags'; ?></title>
  </head>
  <body>
    <p><?php echo 'Es gibt nun mehrere PHP-Tags.'; ?></p>
  </body>
</html>
Den Themenbereich PHP-Tags vertiefen...


Kommentare Bearbeiten

Bevor wir ins Detail gehen, ein Wort zu Kommentaren: Diese sind, wie der Name schon sagt, Anmerkungen, die vom Interpreter komplett ignoriert werden. Es gibt zwei Arten von Kommentaren: Einzeilige Kommentare (begonnen mit //), die nur bis zum Ende einer Zeile gehen, und mehrzeilige Kommentare (umschlossen von /* und */).

Kommentare mögen zunächst nutzlos scheinen, da sie ignoriert werden; für den Programmieralltag sind sie jedoch unerlässlich. Du solltest alle deine selbst geschriebenen Funktionen, Klassen, Methoden usw. mit Kommentaren versehen, um auch später noch nachvollziehen zu können, welchen Zweck sie erfüllen. Auch Anweisungen selbst können Kommentare vertragen. Als Faustregel gilt allerdings: Guter Code spricht für sich selbst. Du kannst dir bestimmt denken, was der Befehl $page->setTitle('Startseite') bewirkt, obwohl du nicht weißt, was die einzelnen Zeichen dazwischen für eine Wirkung haben. Im Gegensatz dazu ist special_function($var23, $var5) schlechter Code, denn du wirst bald schon wieder vergessen haben, was an der Funktion so "special" war.

Innerhalb dieses Buches werden Kommentare verwendet, um Hinweise zum Ergebnis und Zweck von Anweisungen zu geben.

Den Themenbereich Kommentare vertiefen...


Der Code im Detail Bearbeiten

Sehen wir uns den Code einmal genau an:

<?php

echo 'Hallo Welt!';

?>

Anweisungen Bearbeiten

Eine Anweisung in PHP endet mit einem Semikolon (;). echo 'Hallo Welt'; ist somit eine Anweisung, während

<?php

echo 'Hallo ';
echo 'Welt!';

?>

zwei Anweisungen sind. Anweisungen werden ausgeführt. Sie müssen dabei noch nicht einmal etwas Sinnvolles tun. Die Anweisung

<?php

'Hallo Welt';

?>

wird gar keinen Effekt haben. Anweisungen bestehen aus Ausdrücken. Ausdrücke sind z.B. eine Zuweisung, eine Variable oder ein Funktionsaufruf. Selbst der konstante Wert 'Hallo Welt' ist ein Ausdruck. Es macht nichts, wenn du mit diesen Begriffen noch nichts anfangen kannst, da sie dir in den späteren Kapiteln näher gebracht werden.

Funktionsaufruf Bearbeiten

Eine Funktion ist ein Bündel von einer oder mehreren Anweisungen, das mit dem Aufruf der Funktion ausgeführt wird. Du kannst dir eine Funktion wie ein kleineres Programm vorstellen, welches dir die Arbeit erleichtert. Wie (und warum) du eigene Funktionen deklarierst, erfährst du im Kapitel Eigene Funktionen. Für den Augenblick genügt uns der Aufruf einer Funktion.

Eine Funktion rufst du über ihren Namen, gefolgt von Klammern auf. Hast du also beispielsweise eine Funktion "do_login" geschrieben, kannst du sie mittels do_login() aufrufen. In Funktionsnamen sind keine Leerzeichen erlaubt. Es ist üblich statt eines Leerzeichens einen Unterstrich "_" zu benutzen.

Eine Funktion kann Argumente (auch Parameter genannt) haben. Mit Argumenten gibst du der Funktion etwas "in die Hand". Ohne Argumente müsste man für jede kleinste Abweichung der Funktionsanweisungen eine eigene Funktion erstellen.

Argumente werden in PHP innerhalb der Klammern übergeben. Gibt es mehrere Argumente, werden sie durch Kommas getrennt. Angenommen, deine Funktion "do_login" benötigt zwei Argumente, einen Benutzernamen und ein Passwort, so wären folgende Funktionsaufrufe alle gültig:

<?php

do_login('Charlie', 'geheim');
do_login('Anna', 'passwort');
do_login('Clever', '9d$22!_sb?');
do_login('Gast', '');

?>

Weitere Informationen über Argumente erhältst du später in dieser Einführung.

Auch echo ist in gewisser Weise eine Funktion, obwohl es von keinen Klammern gefolgt wird. Das liegt daran, dass es sich bei echo um ein Sprachkonstrukt handelt. Was das bedeutet, brauchst du im Moment nicht zu wissen. Es reicht, wenn dir bewusst ist, dass echo im Grunde wie eine Funktion funktioniert und keine Klammern benötigt.

Das Resultat einer Funktion kann übrigens Argument einer anderen Funktion sein, die wiederum das Argument einer Funktion ist. Hier ein Beispiel:

<?php

echo strlen(substr('Hallo Welt!', 0, 5));

?>

Wie in der Mathematik auch, wird der Code von der innersten bis zur äußersten Klammer ausgewertet. Die innerste Funktion substr schneidet einen Teil aus einer Zeichenkette aus und gibt diesen zurück. Sie nimmt maximal drei Argumente entgegen: Als erstes die Zeichenkette selbst, dann ab wo begonnen werden soll (0) und anschließend die Zahl der Zeichen, die vom Start ab entnommen werden sollen (5). Dieser Aufruf wird "Hallo" zurückgeben, da dies die ersten fünf Zeichen der Zeichenkette "Hallo Welt!" sind. Anschließend wird dieses "Hallo" als Argument an die Funktion strlen übergeben. Diese hat nur ein einziges Argument: Eine Zeichenkette. Zurückgegeben wird deren Länge (5). Zum Schluss geht diese 5 an die "Funktion" echo, die, wie du bereits weißt, alle ihre Argumente ausgibt.