“Hello world” – es wird Zeit zu programmieren

In der Datenbank liegen die  Winzen-Daten jetzt schon einmal recht gut. Aber wir wollen ja auch noch Dinge damit tun. Dafür ist eine Datenbank nur rudimentär geeignet. Es gibt zwar einige Möglichkeiten, Logik auch direkt in die Datenbank zur verlagern, und Daten anzeigen gehört nicht zu ihren Funktionen. Wir müssen also kleine Programme schreiben, die eine Abfrage ausführen, das Ergebnis holen und ausgeben. Und das ist gar nicht so schwierig, wie es klingt. Na gut: Es ist natürlich ein Unterschied zwischen professionellen Programmen und Scripts, die “mal eben” etwas erledigen. Eins nach dem Anderen – wir wollen ja erstmal anfangen.Was braucht’s?

  • Einen Webserver – lokal reicht erstmal, und da würde ich den XAMPP empfehlen.
  • Einen Texteditor – das Notepad (Windows) oder Textpad (Mac) reichen zwar, ihr nehmt trotzdem besser einen echten Texteditor – platformunabhängig ist Atom von Github eine gute Wahl. Fortgeschrittene nehmen gleich einen Editor mit Coder-Appeal: Ich liebe den Mac-Standard Sublime (gibt’s auch für Windows) und den Nerdklassiker Textmate.
  • Für die “Erwachsenen” ist eine Programmierumgebung (IDE) eine gute Wahl: PHPStorm ist 30 Tage kostenlos und für Lehre und Forschung gibt es gratis eine Lizenz, die jährlich verlängert werden muss.

Wenn ihr das ganze Zeugs installiert habt, startet ihr den Webserver und browst nacht http://localhost/ – der Webbrowser sollte Euch nun irgendeine Seite ausliefern.

Macht Euch nun mal den Texteditor auf, schreibt in ein leeres Dokument einfach mal dieses rein:

<?php   echo "Hello world!";  ?> 

Und jetzt wird das Ganze  unter dem Namen HelloWorld.php in den Ordner htdocs im Installationsverzeichnis Eures Webservers gespeichert, und der Browser auf http://localhost/HelloWorld.php gerichtet – Euer erstes Programm… das infame “Hello World!”-Beispiel.

Wenn ihr Euch mit Programmiersprachen befasst, werdet ihr die Konvention kennen: Das erste Musterprogramm, mit dem die Dokumentation eine Programmiersprache vorstellt, zeigt immer (außer bei Querulanten 😉 ), wie man den Text “Hello world” ausgibt.

Was genau passiert da? Standardmäßig weiß Euer Webserver, dass Dateien mit der Endung .php ein Programm enthalten können, das in der Skriptsprache PHP geschrieben ist. Beim Öffnen führt der Webserver zunächst das enthaltene Script aus, und gibt alle Ausgaben an den Webserver, der sich darum kümmern mag, eine sinnvolle Anzeige daraus zu bauen. Das PHP-Programm findet zwischen den spitzen Klammern mit dem ? statt: <?php … ?> oder <? .. ?> markieren PHP-Programmcode in einer Textdatei – alles dazwischen wird ausgeführt, und zwar alles nach einander in einem Kontext, egal ob Klammern zwischen durch geschlossen wurden oder nicht.

<? echo "Hello World! ?>

funktioniert ebenso wie

<?php
$sMessage = "Hello World!";
echo $sMessage;
?>

oder das verschachtelte:

<html>
<?php $sMessage = "Hello World!"; ?>
<div id="message">
<? echo $sMessage; ?>
</div>

Jede Anweisung in PHP muss mit einem Semikolon beendet werden. Und in den beiden letzten Beispielen habe ich bereits eine Zeile mehr geschrieben:

$sMessage = "Hello World!";

Was passiert hier? Das Dollar-Symbol ist für PHP enorm wichtig – ein Dollar-Symbol markiert eine Variable. Danach folgt eine beliebige Bezeichnung (Buchstaben, Zahlen, Unterstrich sind erlaubt, keine Sonderzeichen und keine reservierten Wörter der Programmiersprache selbst). Ich verwende in aller Regel einen Type-Hint, einen Hinweis auf das, was darin gespeichert ist.

sMessage – das ist sogenanntes Camel-Casing (Variablen beginnen mit einem kleinen Buchstaben, und dann folgen wie Kamelhöcker stehen die Großbuchstaben der einzelnen Worte)

s ist mein Type-Hint für String, was der Common-Sense-Ausdruck für eine Reihe von Buchstaben ist.

$sMessage ist also die Variable, in der eine Zeichenkette mit einer Nachricht gespeichert ist. Es empfiehlt sich, solche Konventionen ernst zu nehmen, da dadurch der Code insgesamt lesbarer und nachvollziehbarer wird.

Ebenso wie echo "Hello World!"; einfach Hello World! an den Browser zur Ausgabe schickt, können wir auch die Variable an den echo-Befehl geben: echo  $sMessage;

Wenn ihr genau schaut, fällt Euch bereits beim ersten Beispiel auf: Ihr schreibt echo "Hello World!";, aber die Anführungszeichen verschwinden. Das liegt daran, dass der Text, den ihr an PHP schickt, ja Programmcode ist, der ausgewertet wird. Alles innerhalb von <? .. ?> wird ausgeführt. Außer, es ist von Anführungszeichen umgeben. Das ist das Signal für PHP: Hier kommt Text, der als Text behandelt werden soll.

Macht Euch jetzt mal einen kleinen Spaß, denn wir kennen ja zwei Arten Anführungszeichen:

<?php
$sMessage = "Welches Gänsefüßchen darf es sein?";
echo "Die große Preisfrage:";
echo "$sMessage";
echo $sMessage;
echo '$sMessage';
?>

Wie verhält sich PHP? Welche Regelmäßigkeit erkennt ihr? Ändert das “Programm” mal so, dass es den Namen von Freunden oder Familienmitgliedern darstellt. Und dann machen wir in Kürze weiter mit den Grundelementen des Programmierens.