Prettier för PHP 0.1: Första alfaversionen 🎉
Denna sida har översatts av PageTurner AI (beta). Inte officiellt godkänd av projektet. Hittade du ett fel? Rapportera problem →
Efter över 200 sammanslagna pull requests sedan mitten av december 2017 är vi glada att kunna presentera den första alfaversionen av Prettier för PHP. I detta blogginlägg ger vi en kort översikt över hur plugin:et fungerar, dess filosofi och vad ni kan förvänta er i framtiden.
Hur fungerar det?
Att lägga till stöd för ett nytt språk i Prettier kräver två komponenter:
-
En parser som omvandlar din källkod till ett abstrakt syntaxträd (AST). Eftersom Prettier är skrivet i JavaScript använder vi php-parser, en PHP-parser skriven i JS.
-
En printer som omvandlar AST till ett speciellt format som kallas
doc, vilket Prettier behöver för att utföra sin magi. Det är i princip din källkod plus information om var radbrytningar kan läggas till, hur den ska indenteras med mera.
Medan vi kunde dra nytta av befintligt arbete på parsersidan, behövde printrarna utvecklas från grunden för att hantera alla PHPs olika AST-nodtyper. Vår första alfaversion innebär att vi är säkra på att printrarna kan omforma din kod utan att bryta den.
Om du vill läsa mer om plugin-API:t, se dokumentationen.
Filosofi
När man bygger en kodformaterare kan det vara frestande att lägga till många alternativ för att täcka alla olika kodstilar. PHP-plugin:et följer Prettiers åsiktsbaserade filosofi och lägger inte till några nya alternativ. Istället identifierade vi PSR-1, PSR-2 och PSR-12 som en av de mest populära kodstilarna i PHP-communityt och beslutade att använda detta som riktlinje vid formatering av PHP-kod.
Av erfarenheten från Prettier för JavaScript anser vi att erbjuda så få konfigurationsalternativ som möjligt är en av Prettiers största styrkor. Efter vår första stabila version kommer vi överväga att lägga till ett mycket begränsat antal alternativ för de mest kontroversiella stilvalen (t.ex. klammerstil), men förhåller oss konservativa till detta.
Vad händer nu?
För vår första stabila version återstår följande milstolpar:
-
100 % säkerhet att vi inte förstör kod under formatering.
Vi är redan idag ganska nära detta mål.
-
Snygg utdata
Plugin:et förtjänar inte sitt namn om utdatan inte är snygg. Även om den redan är ganska bra idag, kräver hanteringen av alla specialfall mer arbete.
-
Integrationer
Idag kan du prova plugin:et från kommandoraden genom att följa instruktionerna i README. Plugin-stöd i din favoriteditor fungerar dock kanske inte ännu (se relaterade ärenden för VS Code, Atom och Vim). PHP-plugin:et är heller inte integrerat i Prettiers playground ännu.
Är du entusiastisk över Prettier för PHP? Hjälp oss nå vår första stabila version genom att:
-
Testa den på din kodbasis
-
Rapportera eventuella problem du hittar
-
Bidra (komma igång)
-
Sprid ordet 😉
