PHP-Tutorial: Erste Schritte

Hello World


Jeder der schon einmal eine Programmiersprache gelernt hat, der kennt Hello World! Alle anderen lernen es jetzt kennen.
Die Ausgabe von Text ist wohl eine der elementarsten Aufgaben vieler Programmiersprachen, so auch bei PHP. Also starten wir mit einer Hello World-Ausgabe. Die ist recht simpel, der Ausgabe-Befehl in PHP lautet echo:

1
2
3
<?php
echo "Hello World";
?>

Natürlich wieder mit der Endung .php speichern (diese Endung signalisiert, dass es hier etwas für den PHP-Parser zu tun gibt) und auf den Webserver laden. Schnell den Browser geöffnet und die Seite geladen, wen überrascht's? Als Ausgabe bekommen wir "Hello World". Völlig unformatiert und ohne die PHP-spezifischen Anweisungen. Aber was steht da nun genau!?
Alles was der PHP-Interpreter übersetzen soll, wird in <?php und ?> eingeschlossen. Alles davor oder danach wird so wie es da steht ausgeliefert, ohne dass sich PHP darum kümmert. (Ich werde diese Tags aus Platzgründen in einigen Beispielen weglassen, wenn im Beispiel ausschliesslich PHP-Code enthalten ist.)
In Zeile 2 steht nun der schon erwähnte Ausgabe-Befehl (er ist bei weitem nicht der Einzige). Alles was auf ihn folgt wird also Ausgegeben, hier ein Text. Das ist alles in diesem Beispiel, also erscheint auch nur der kurze Text als Ergebnis auf unserem Bildschirm.
Beachten solltet ihr aber auf jeden Fall noch das Semikolon (;)! Dies wird von nun an euer schlimmster Feind ;-) Es muss auf jede Anweisung folgen. Vergesst ihr es, gibt es einen Fehler, denn erst das Semikolon signalisiert dem Parser dass eure Anweisung nun beendet ist.

Nun sieht das ganze natürlich recht fad aus, also wie kriegen wir den Text formatiert? Das Schlüsselwort ist, thada, HTML! Man kann innerhalb des auszugebenden Textes auch ganz normal HTML benutzen und somit seinen Text formatieren, denn der Code landet dann in eurem Browser, und wenn da <b>...</b> steht, dann macht er es fett!
Also folgt schon das nächste Beispiel:

1
2
3
<?php
echo "<b>Hello</b> <i>Wo</i><u>rld</u>";
?>


Sieht auch nicht schön aus, sollte aber gut erklären. Ihr dürft bis auf Sonderzeichen eigentlich alles einfach ausgeben indem ihr es hinter echo schreibt, der Browser muss es nur verstehen können.
Und was ist mit Sonderzeichen? Ihr werdet sicher verstehen, dass PHP ein Problem damit hat, wenn wir folgendes schreiben:

1
echo "Hello "Wor"ld";


Denn woher soll es wissen, dass wir das zweite Anführungszeichen ausgeben und nicht unseren Text beenden wollen? Für solche Fälle gibt es den Backslash (\), mit dem wir Sonderzeichen maskieren können (maskiert sieht PHP sie dann nicht mehr als Sonderzeichen, sondern als ganz normalen Text). Unsere Ausgabe lautet nun wie folgt:

1
echo "Hello \"Wor\"ld";


Wir bekommen also Hello "Wor"ld. (es sollen natürlich nur die Anführungszeichen maskiert werden, welche ausgegeben werden sollen!)
Die Mitdenker unter euch fragen sich natürlich schon wie wir denn jetzt den Backslash ausgeben!? Denn wenn wir ihn benutzen denkt der Interpreter ja, dass er das nächste Zeichen als normales Zeichen hinnehmen soll (dies ist nicht ganz korrekt, aber soll hier nicht stören). Die Antwort ist denkbar einfach! Wir maskieren ihn mit einem weiteren Backslash. Beispiel:

1
2
3
<?php
echo "c:\\spiele"
?>


Ergibt also c:\spiele. Will man zwei Backslashs anzeigen, schreibt man in den Quelltext also folglich vier von ihnen.
Man braucht den Backslash übrigens nicht nur zum maskieren, man kann mit ihm auch die Ausgabe formatieren, was ohne Backslash nicht so leicht möglich wäre. So erreicht man zum Beispiel mit \n einen Zeilenumbruch, mit \r einen neuen Absatz und mit \t einen Tabulator. Diese Zeichen sind dann jedoch nur im Quelltext, also in der eigentlichen Ausgabe, sichtbar, und nicht mit dem zu verwechseln, was der Browser versteht. Um im Browser beispielsweise einen Zeilenumbruch zu erreichen braucht man weiterhin ein <br/> und für einen Absatz ein <p> ... </p> usw.

Wie schon erwähnt, wird nur der Teil zwischen <?php und ?> interpretiert, das heißt wir können d'rum herum normal unsere HTML-Seite aufbauen (es würde natürlich auch funktionieren alles in <?php und ?> auszugeben!):

1
2
3
4
5
6
7
8
9
10
11
12
<html>
<head>
<title>Meine erste richtige Seite</title>
</head>
<body>
<h2>Willkommen PHP-Fans</h2>
<br>
<?php
echo "<font color=\"red\">Ich bin spitze!</font>";
?>
</body>
</html>


In diesem Beispiel (Download: firststeps.bsp.tgz (408,00 B) ) macht der PHP-Code natürlich wenig Sinn, denn wir könnten es mit weniger Schreibarbeit in HTML lösen, aber ich hoffe er symbolisiert das Prinzip.

Kommentare


Zum Ende diesen Kapitels zeig ich euch noch die Kommentare. Auch in PHP gibt es die Möglichkeit Abschnitte zu kommentieren, diese sind dann nur für den Lesenden sichtbar, der Parser übersieht sie und wertet sie also nicht aus. Jeder, der schon einmal etwas halbwegs Größeres geschrieben hat, weiß ihren Wert zu schätzen! Ohne sie sind längere Scripte kaum übersichtlich zu gestalten. In PHP gibt es zwei Sorten von Kommentaren, den einzeilige Kommentar, er wird mit zwei Slashes (//) eingeleitet (oder durch die Raute (#) wie in Perl) und kommentiert alles bis zum Zeilenende aus. Die andere Sorte ist der mehrzeilige Kommentar, mit ihm wird alles innerhalb von /* und */ auskommentiert:

1
2
3
4
5
6
7
8
//kurzes Kommentar
echo "Kein Kommentar";
/* Kommentar
ueber
mehr
Zeilen*/

echo "noch (k)ein Kommentar";
#Perl-Style

Mit dem mehrzeiligen Kommentar macht sich die Fehlersuche besonders gut, denn man hat die Möglichkeit Code-Teile auszukommentieren ohne sie zu ändern oder zu löschen, und muss nur noch im übrigen unkommentierten Code nach dem Fehler suchen.

© 2009-2017 by Martin Scharm