So wird eine PHP-Datei formatiert

Schnipsel oder ganze Datei einfügen und auf PHP-Code formatieren klicken. Die Einrückung wird im Browser mit einem Tab pro Ebene neu geschrieben; der Code wird nie ausgeführt, es entsteht keine Ausgabe und es wird nichts hochgeladen.

Das Ergebnis behält die Abschnitte, die wörtliche Ausgabe sind und kein Code: den Rumpf eines Heredoc oder Nowdoc, einen Kommentar mit # oder //, und das HTML zwischen einem schließenden ?> und dem nächsten öffnenden Tag. Diese Bereiche kommen Byte für Byte zurück, was für ein Template entscheidend ist, weil eine zusätzliche Einrückung dort die gerenderte Seite verändert.

  1. Fügen Sie den PHP-Code über den Beispielcode im Feld oben ein; ein Fragment, eine Klasse oder eine ganze Template-Datei funktionieren gleich.
  2. Klicken Sie auf PHP-Code formatieren. Das Ergebnis erscheint darunter, mit der PHP-Grammatik eingefärbt statt als reiner Text.
  3. Klicken Sie auf Kopieren, um den Code ohne Farben in die Zwischenablage zu legen, oder markieren Sie einzelne Zeilen im Ergebnis, wenn Sie nur wenige brauchen.
  4. Ändern Sie das Feld und formatieren Sie erneut, wenn etwas nicht passt: bis dahin wird das vorherige Ergebnis abgeblendet und als zur früheren Eingabe gehörend gekennzeichnet.

Was der Formatierer ändert und was er unberührt lässt

Was der Formatierer ändert

Jede Anweisung, die in einer Zeile stand, wird am Semikolon getrennt, geschweifte Klammern rücken in eine eigene Zeile und jede Verschachtelungsebene bekommt einen Tab mehr. Aus einer minifizierten Klasse wird so lesbarer Code, und dafür stimmt die Ausgabe nicht mehr Zeile für Zeile mit der Eingabe überein: Leerzeilen entfallen, eingerückt wird immer mit Tabs, und ein langes Array oder eine lange Argumentliste bleibt in einer Zeile statt umbrochen zu werden. Ein Projekt mit vier Leerzeichen braucht danach einen Durchlauf mit seinem eigenen Formatierer.

Was unverändert übernommen wird

Der Rumpf eines Heredoc oder Nowdoc ist wörtliche Ausgabe und wird deshalb Byte für Byte kopiert, einschließlich der seit PHP 7.3 erlaubten eingerückten Schlusskennung. Zeilenkommentare mit # oder // gelten als Kommentar und nicht als Klammer, was bei einem Block wie # siehe die Syntax {placeholder} zählt, und ein PHP-8-Attribut wie #[Route('/x')] bleibt Code, weil ein Attribut keinen Kommentar öffnet. Text zwischen ?> und dem nächsten <?php gehört zu HTML und wird nie eingerückt, sodass eine Template-Schleife foreach (...): mit innerem <?= ... ?> mit unverändertem Markup zurückkommt.

Wo das Werkzeug endet

Der Formatierer liest Zeichen, keinen Syntaxbaum: er führt den Code nie aus, prüft die Syntax nicht, und eine offene Klammer oder ein fehlendes Anführungszeichen kommt so zurück, wie es geschrieben wurde, statt als Fehlermeldung. Die Einfärbung läuft nach dem Layout und wird ab etwa 120 KB übersprungen, damit die Seite reagiert; eine große Datei bleibt dadurch lesbar, aber einfarbig. Für mehr als eine schnelle Aufräumarbeit behalten php-cs-fixer, PHP_CodeSniffer oder der Formatierer der Entwicklungsumgebung Stil und Leerzeilen eines echten Projekts bei und lassen sich auf den ganzen Baum anwenden statt auf eine Einfügung.

Zuletzt verwendet: