mitmario.dev

Dein erstes Skript

PHP Sandbox 3 Min Lesezeit 3 BeispieleLektion 2 von 6

Auf einem eigenen Rechner startest du eine PHP-Datei mit dem Befehl php index.php. Vorne steht php, der Name des Programms. Dahinter steht die Datei, die es ausführen soll. Mehr braucht es nicht. Keine HTML-Datei drumherum, kein Server, der etwas ausliefert, keine Adresse im Browser.

Genau diesen Befehl tippt hier der Prüfknopf ins Terminal, so als hättest du ihn selbst geschrieben. Und du kannst ihn dort auch selbst tippen, das Terminal gehört dir.

Was danach passiert

PHP liest die Datei einmal von oben nach unten und tut, was darin steht. Das erste Beispiel ist so langweilig, wie es aussieht, und deshalb steht es hier.

Von oben nach unten und dann fertig
<?php

echo "Erste Zeile\n";
echo "Zweite Zeile\n";
echo "Fertig\n";

Drei Zeilen, drei Ausgaben, in genau der Reihenfolge, in der sie im Code stehen. Danach ist das Programm zu Ende.

Das ist ein anderer Rhythmus als im Browser. Eine HTML-Seite bleibt offen, bis jemand sie schließt, und JavaScript darin wartet auf Klicks. Ein PHP-Skript wartet auf nichts. Es läuft, es gibt etwas aus, es ist weg. Ab Abschnitt 10 ändert sich das nicht einmal: Auch dann läuft dein Code einmal kurz, nämlich für genau eine Anfrage, und ist danach wieder fertig.

echo, und wo die Ausgabe landet

echo ist der Befehl, mit dem du etwas ausgibst. Kein Klammernpaar nötig, ein Semikolon am Ende genügt.

Was du damit ausgibst, landet nicht in einer Entwicklerkonsole, sondern auf der Standardausgabe. So heißt der Kanal, über den ein Programm auf der Kommandozeile spricht. Im Terminal siehst du genau ihn, sobald etwas gelaufen ist.

Ein Detail, über das jeder einmal stolpert: echo macht von sich aus keinen Zeilenumbruch.

Ohne Zeilenumbruch klebt alles zusammen
<?php

echo "eins";
echo "zwei";
echo "drei";

Drei Aufrufe, und trotzdem steht alles in einer Zeile. PHP gibt aus, was du hinschreibst, und ein Zeilenumbruch ist nichts anderes als ein Zeichen, das du selbst dazuschreiben musst. Es heißt \n und muss in doppelten Anführungszeichen stehen. Warum die Art der Anführungszeichen hier eine Rolle spielt, klärt Lektion 2.2. Fürs Erste reicht: doppelte nehmen, dann klappt es.

Ein Lauf kann auch still bleiben

Ein Lauf, der nichts ausgibt
<?php

$summe = 12 + 30;

Diese Datei rechnet etwas aus und behält es für sich. Sie läuft ohne Fehler durch, und trotzdem bleibt die Ausgabe leer.

Das ist keine Kleinigkeit, sondern eine Gewohnheit, die du dir gleich angewöhnen solltest: Ein Programm zeigt nur, was du es zeigen lässt. Wenn du wissen willst, was in $summe steht, musst du es ausgeben. Im Browser konntest du dir eine Seite ansehen und sofort erkennen, ob etwas fehlt. Hier siehst du nur die Ausgabe, und wo keine ist, ist auch nichts zu sehen.

Wo du in diesem Kurs arbeitest

Der Aufbau ist derselbe wie in den Kursen davor, mit zwei Unterschieden.

In der Mitte liegt der Editor mit deinen Dateien. Darunter liegt das Terminal, und dort steht, was ausgeführt wurde und was dabei herauskam: erst die Ausgabe deines Programms, darunter in Rot der Fehlerkanal, falls er etwas zu sagen hatte. Der Reiter Browser daneben bleibt leer, und das ist kein Ausfall: Dein Code läuft nicht im Browser, sondern auf einer echten Maschine, und die schreibt hier Text und liefert keine Seite aus. Ab Abschnitt 10 ändert sich das.

Der zweite Unterschied: Hier läuft nichts beim Tippen. Dein Code läuft auf einem Rechner in einem Rechenzentrum, und jeder Lauf dort kostet Rechenzeit. Deshalb passiert genau dann etwas, wenn du auf Prüfen oder Sandbox starten drückst oder selbst einen Befehl tippst, und sonst nicht. Lektion 1.5 erklärt diese Umgebung im Ganzen.

Die Aufgabe steht neben dem Editor, und direkt darunter die Prüfliste: die Punkte, die deine Lösung erfüllen muss. Nach jedem Lauf siehst du dort, welche davon schon grün sind.

Zum Mitnehmen

Eine PHP-Datei läuft von oben nach unten und ist danach fertig. Es gibt keine Seite, die geladen bleibt, und niemanden, der auf einen Klick wartet.

Jetzt du

Basis Konto, kostenlos

Zu dieser Lektion gehört eine Aufgabe. Du schreibst den Code selbst, und nach jedem Lauf sagt dir eine Prüfliste, was schon stimmt.

Dafür brauchst du das Basis Konto. Es kostet nichts, und ein Passwort gibt es auch nicht.

In diesem Kurs läuft dein Code auf einem Server. Dafür hat das Basis Konto 1 Stunde im Monat, mehr Zeit gibt es mit dem Premium Konto.

Was in dieser Lektion steckt

  • Artikel mit 3 Beispielen zum Ausprobieren

    Steht hier, ohne Konto lesbar.

  • Aufgabe, dein Code läuft auf einem Server

    Öffnet sich mit dem Basis Konto.