Prettier für PHP 0.1: Erste Alpha-Version veröffentlicht 🎉
Diese Seite wurde von PageTurner AI übersetzt (Beta). Nicht offiziell vom Projekt unterstützt. Fehler gefunden? Problem melden →
Nach mehr als 200 zusammengeführten Pull-Requests seit Mitte Dezember 2017 freuen wir uns, die erste Alpha-Version von Prettier für PHP ankündigen zu können. In diesem Blogbeitrag geben wir einen kurzen Überblick über die Funktionsweise des Plugins, seine Philosophie und die zukünftigen Pläne.
Wie funktioniert es?
Die Unterstützung einer neuen Sprache in Prettier erfordert zwei Komponenten:
-
Einen Parser, der Ihren Quellcode in einen abstrakten Syntaxbaum (AST) umwandelt. Da Prettier in JavaScript geschrieben ist, nutzen wir php-parser, einen in JavaScript implementierten PHP-Parser.
-
Einen Printer, der den AST in das spezielle
doc-Format von Prettier konvertiert. Dieses Format enthält Ihren Quellcode ergänzt um Informationen zu möglichen Zeilenumbrüchen, Einrückungen und ähnlichen Formatierungsdetails.
Während wir beim Parsing von bestehenden Lösungen profitieren konnten, musste der Printer komplett neu entwickelt werden, um alle verschiedenen AST-Knotentypen von PHP zu unterstützen. Mit unserer ersten Alpha-Version sind wir zuversichtlich, dass der Printer Ihren Code fehlerfrei neu ausgeben kann.
Weitere Details zur Plugin-API finden Sie in der Dokumentation.
Philosophie
Bei der Entwicklung eines Code-Formatierers liegt die Versuchung nahe, zahlreiche Optionen für verschiedene Codierungsstile anzubieten. Das PHP-Plugin folgt jedoch Prettiers Meinung und fügt keine neuen Optionen hinzu. Stattdessen orientieren wir uns an PSR-1, PSR-2 und PSR-12, den in der PHP-Community weit verbreiteten Codierungsstandards.
Aus unseren Erfahrungen mit Prettier für JavaScript wissen wir, dass minimale Konfigurationsoptionen eine große Stärke sind. Nach dem ersten stabilen Release werden wir Optionen für stark umstrittene Formatierungsentscheidungen erwägen (z.B. Klammerstil), bleiben dabei aber zurückhaltend.
Was kommt als Nächstes?
Für das erste stabile Release müssen folgende Meilensteine erreicht werden:
-
100%ige Sicherheit, dass Code durch Formatierung nicht beschädigt wird
Diesem Ziel sind wir bereits sehr nahe.
-
Ansprechende Ausgabe
Ein Plugin namens "Prettier" sollte auch schönen Code produzieren. Die aktuelle Ausgabe ist bereits gut, aber die Behandlung aller Sonderfälle erfordert weitere Arbeit.
-
Integrationen
Aktuell kann das Plugin über die Kommandozeile gemäß den Anweisungen im README getestet werden. Editor-Integrationen funktionieren möglicherweise noch nicht (siehe Issues für VS Code, Atom und Vim). Auch die Integration in Prettiers Playground steht noch aus.
Sind Sie von Prettier für PHP begeistert? Dann helfen Sie uns beim Erreichen des ersten stabilen Releases durch:
-
Testen mit Ihrem Codebase
-
Beiträge (Einstiegshilfe)
-
Weitererzählen 😉
