Textausgabe
logo5

Lernt man eine neue Programmiersprache, soll als erstes die Ausgabe des Textes "Hello World" gelernt werden. Es kommt dabei nicht so sehr auf den Text an (von mir aus kannst du auch "Hallo Uhu" verwenden), als viel mehr darauf, dass eine Anzeige von Text zu den absolut elementaren Dingen zählt.

Wir legen daher am Webserver in einem beliebigen Ordner eine Datei mit dem Namen hallo.php an und schreiben in diese Datei nur

<?php echo "Hello World";?>

Die Farben brauchst du natürlich nicht. Das nennt sich Syntax-Highlighting und dient dazu, den Code einfacher lesbar zu machen. Das ganze wird abgespeichert und anschließend über den Browser aufgerufen (... localhost/beliebiger Ordner/hallo.php) oder auf deinen Webspace hochgeladen und von dort aufgerufen.

Im Browser steht jetzt einfach Hello World - vollkommen unformatiert.

So, was heißt denn das, was wir da geschrieben haben überhaupt?

<?php

Die spitze Klammer und das Fragezeichen werden immer dann verwendet, wenn man PHP verwenden möchte. Eine ähnliche Vorgangsweise ist ja auch aus HTML bekannt. Dabei werden die Befehle mit <Befehl> eingeleitet und mit </Befehl> beendet. In PHP verwenden wir <?php und ?> als Anfangs- und Endezeichen. Alles, was zwischen diesen Zeichen steht, wird als PHP-Code interpretiert.

Danach steht jetzt
echo "Hello World";
Das beinhaltet zunächst die Anweisung, dass ein Text ausgegeben werden soll. Alternativ zum Befehl echo kann man auch den Befehl print verwenden. Bei mir wirst du allerdings immer echo finden, einfach weil es mir sympathischer ist.

In Anführungszeichen folgt dann der Text, der ausgegeben werden soll. Dieser Text wird beim Parsen (dem Umwandeln von PHP-Code in HTML und dem Ausführen von Befehlen) in die HTML-Datei geschrieben. In unserer Datei steht jetzt also lediglich Hello World (du kannst gerne über Quelltext anzeigen nachschauen :-))

Das abschließende Semikolon (;) ist bei jeder PHP-Anweisung notwendig. Es gibt sozusagen bekannt, wo die Anweisung zu Ende ist.

Mit dem beendenden
?>
wird der PHP-Block abgeschlossen.

Innerhalb der Anführungszeichen kannst du auch ohne Probleme HTML-Code verwenden und damit deinen Text formatieren. Das einzige, worauf du achten musst, sind Sonderzeichen.

Damit meine ich nicht die aus HTML bekannte Maskierung für Umlaute (wie &auml;) sondern Sonderzeichen für PHP.

Du hast ja oben gesehen, dass wir den Text in Anführungszeichen gesetzt haben. Das birgt das Problem, dass ein Anführungszeichen als Ende der Zeichenkette (des Textes) angesehen wird und es dadurch zu Problemen kommen kann. Wenn wir z. B. den Code

<?php echo "Hello "World""; ?>

verwenden wollen, erscheint beim Aufrufen der Datei eine Fehlermeldung (parse error).

Um also Anführungszeichen zu verwenden, müssen wir sogenannte Maskierungszeichen einsetzten. Ein solches Maskierungszeichen ist der Backslash (\).

Der richtige Code sieht daher so aus

<?php echo "Hello \"World\""; ?>

Jetzt wird als Text Hello "World" ausgegeben.

Beachte bitte, dass nur die Anführungszeichen, die angezeigt werden sollen, einen Backslash vorangestellt bekommen. Das einleitende und das abschließende Anführungszeichen stehen ohne ein Maskierungszeichen da.

Was passiert jetzt aber, wenn wir einen Backslash verwenden wollen? Der muss natürlich auch ein Maskierungszeichen erhalten. Also würde der Befehl zum Anzeigen von c:\windows so aussehen:

<?php echo "c:\\windows"; ?>

Ein doppelter Backslash, damit einer angezeigt wird.

Auch für Zeilenumbrüche gibt es eine Art Maskierung - \n (nicht zu verwechseln mit dem <br> bzw. <br /> für einen sichtbaren Zeilenumbruch).

Wie gesagt ist es auch problemlos möglich, HTML-Code zur Formatierung zu verwenden. Also z. B.

<?php echo "<h2>Hallo du!</h2>"; ?>

Nur muss auch hierbei darauf geachtet werden, dass Anführungszeichen einen Backslash vorangestellt bekommen.

Es ist übrigens auch kein Problem in einer Datei teilweise PHP und teilweise HTML zu verwenden:

<html>
<head>
<title>Meine Seite mit PHP</title>
</head>
<body>
<h2>Willkommen</h2>
<br />
<?php echo "Schön, dass du da bist!"; ?>
</body>
</html>

Den Text mit PHP ausgeben zu lassen hat in diesem Beispiel natürlich keinen Sinn. Es soll nur aufzeigen, was möglich ist. So kann man auch mehrere PHP-Bereiche in einer Datei definieren.