Websiteentwicklung: PHP: Ausgabe

Aus Wikibooks

Das erste "Hello World!"[Bearbeiten]

Das folgende Script gibt den Text Hello World aus. Dazu erstellen Sie eine neue Datei namens helloworld.php in ihrem PHP-fähigen Webspace. Die folgenden drei Zeilen sind der Inhalt dieser einfachen Datei:

<?php
echo 'Hello World!';
?>

Rufen sie nun die Datei über ihren Web-Browser auf. Je nachdem wo sie die Datei gespeichert haben (Webserver oder lokaler virtueller Server) geben sie ähnlichlautende URL's ein:
http://ich.meinhoster.de/helloworld.php
http://localhost/helloworld.php
Jetzt sehen Sie auf Ihrem Bildschirm

Hello World

Strings (Zeichenketten)[Bearbeiten]

Betrachten wir eine Zeile des Beispiels einmal genauer:

echo 'Hello World!';

Hello World ist offensichtlich der Text, der auf dem Bildschirm ausgegeben wird.

echo ist unser erster PHP-Befehl, genauer gesagt ein Sprachkonstrukt. Mit echo ist es möglich, einen String (engl. für Zeichenkette) anzuzeigen.


Semikolon[Bearbeiten]

Ein PHP-Befehl wird mit einem Semikolon ; beendet.

Es ist ein häufiger Anfängerfehler, das Semikolon zu vergessen.

Single-Quotes[Bearbeiten]

Der Text des Strings muss in "Single-Quotes" '...' eingeschlossen sein.

echo 'Foobar';

Double-Quotes[Bearbeiten]

Genausogut kann man Strings mit Anführungszeichen "..." deklarieren:

echo "Foobar";

Zeichen "escapen"[Bearbeiten]

Bestimmte Zeichen besitzen besondere Aufgaben in einem String, wie zum Beispiel das Markieren einer Variable ($) in Double-Quotes (siehe unten). Falls man das Zeichen allerdings selbst braucht (um z.B. einen Dollar Betrag auszugeben) dann muss man das gewünschte Zeichen "escapen", d.h. es mit dem Prefix '\' versehen damit PHP weiß, dass dieses Zeichen an sich ausgegeben werden soll und es nicht vom Parser geparst wird.

So muss zum Beispiel innerhalb eines Single-Quotes das Single-Quote (') escaped werden, da es sonst als Ende des Strings ausgewertet werden müsste. Das gleiche gilt ebenfalls für die Double-Quotes. Um nun das Escape-Zeichen (auch Backslash genannt) selbst darzustellen, muss es ebenfalls escaped werden (\\).

echo 'Foo\'bar';
echo "Foo\"bar";
echo 'Foo\\bar';

PHP interpretiert eine Escape-Kette, die keine Bedeutung besitzt nicht, so dass dann ebenfalls das Escape-Zeichen mit ausgegeben wird.


Heredoc[Bearbeiten]

Heredoc arbeitet über Bezeichner und die Kette "<<<". Systematisch arbeitet es wie die Double-Quotes, nur dass es keine doppelten Anführungszeichen besitzt und diese nicht im Text escaped werden müssen. Es dürfen aber alle Escape-Regeln verwendet werden. Die Heredoc-Ausgabe wird mit "<<<" und einem eindeutigen Bezeichner eingeleitet, der am Ende des Strings, der ausgegeben werden soll, die Zeichenkette wieder schließt

echo <<<EOD
  foo
  bar
  "foobar"
EOD;

Wie man sieht, ist auch eine Ausgabe über mehrere Zeilen problemlos möglich. Wichtig ist, dass der beendende Bezeichner in seiner Zeile nur sich selbst und ein ";" besitzen darf, also auch keine Einrückungen oder sonstiges. Ansonsten würde PHP den Bezeichner nicht finden und einen Fehler am Ende des Scripts ausgeben, dass der Bezeichner nicht gefunden wurde.

Ausgabe mit print und echo[Bearbeiten]

Wie du in den Beispielen davor schon gesehen hast kann man mit echo '...'; bzw. echo "..."; Zeichenketten oder Variablen ausgeben. print '...'; macht genau das selbe, liefert jedoch immer 1 als Rückgabewert zurück, das braucht dich allerdings im Moment nicht zu interessieren. Ob nun echo oder print ist letztendlich aus der technischen Sicht egal. Da echo allerdings verbreiteter ist, bietet es sich an, echo zu benutzen.

echo 'foo';
print 'foo';


Übungen[Bearbeiten]

Nun bist du an der Reihe. Versuche diese Aufgaben zu lösen - aber probiere nicht nach oben zu schauen ;-).

  • Programmiere mit PHP ein Skript, welches den Text "Hallo. Morgen geht die Sonne auf." ausgibt