Websiteentwicklung: PHP: Ausgabe
Das erste "Hello World!"
BearbeitenDas 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)
BearbeitenBetrachten 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
BearbeitenEin PHP-Befehl wird mit einem Semikolon ;
beendet.
Es ist ein häufiger Anfängerfehler, das Semikolon zu vergessen.
Single-Quotes
BearbeitenDer Text des Strings muss in "Single-Quotes" '...'
eingeschlossen sein.
echo 'Foobar';
Double-Quotes
BearbeitenGenausogut kann man Strings mit Anführungszeichen "..."
deklarieren:
echo "Foobar";
Zeichen "escapen"
BearbeitenBestimmte 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
BearbeitenHeredoc 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
BearbeitenWie 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
BearbeitenNun 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