Cosa fa questo strumento
Il formattatore PHP trasforma codice PHP disordinato, minificato o indentato in modo incoerente in codice pulito che segue lo standard della community. Gestisce la sintassi moderna, comprese le proprietà tipizzate e readonly, la constructor promotion, le arrow function, gli enum, le espressioni match e gli attributi.
Esegue Prettier con il plugin PHP ufficiale, la stessa combinazione che molti team Laravel e Symfony usano negli editor e negli hook di pre-commit, quindi il risultato corrisponde a quello che produrrebbero i tuoi strumenti.
Come si usa
- Incolla codice PHP oppure apri un file
.php. Il tag di apertura<?phpè facoltativo per gli snippet brevi. - Il codice formattato compare a destra mentre scrivi.
- Regola le opzioni:
- Indentazione: 4 spazi è lo standard PSR; sono disponibili anche 2 spazi e tabulazioni.
- Larghezza riga: le righe più lunghe di questo valore vengono spezzate dove la sintassi lo consente.
- Parentesi graffe: metti le graffe di classi e funzioni sulla riga successiva (PER / PSR-12) o sulla stessa riga.
- Versione PHP: la versione più vecchia su cui il codice deve girare.
- Apici singoli e Virgole finali per le liste su più righe.
- Copia o scarica il risultato.
Se il codice contiene un errore di sintassi, il messaggio indica cosa si aspettava il parser e la riga e la colonna in cui si è fermato.
Esempio
L’esempio è un controller in stile Laravel con tutto ammassato: un’istruzione use raggruppata, un array di proprietà, la constructor promotion, una chiamata di validazione, un if scritto su una sola riga e un array_map con una arrow function. Dopo la formattazione la graffa di ogni metodo passa su una riga a sé, operatori e => ricevono gli spazi, il corpo dell’if viene espanso e le lunghe chiamate response()->json() vengono spezzate con un elemento dell’array per riga e le virgole finali.
Cosa non cambia
Il formattatore cambia solo l’impaginazione. Non rinomina variabili, non riordina le istruzioni use, non converte array() nella sintassi breve e non corregge la logica. I commenti, compresi i blocchi PHPDoc, vengono mantenuti e reindentati insieme al codice circostante.
Suggerimenti
- Usa la stessa larghezza di riga e la stessa versione di PHP della configurazione Prettier o PHP-CS-Fixer del tuo progetto per evitare modifiche inutili nei diff.
- Formattare uno snippet copiato da un log o da uno stack trace lo rende molto più leggibile.
- Se condividi codice in una issue, formattalo prima, così i revisori possono concentrarsi su cosa fa.
Domande frequenti
› Quale stile di codice segue?
Per impostazione predefinita l'output segue il PER Coding Style, il successore del PSR-12 pubblicato dal PHP-FIG. Le parentesi graffe di classi e metodi vanno su una riga a sé, quelle delle strutture di controllo restano sulla stessa riga e l'indentazione è di quattro spazi.
› Perché conta la versione di PHP?
Alcune sintassi sono valide solo a partire da una certa versione. Le virgole finali nelle liste di parametri, ad esempio, richiedono PHP 8.0, quindi con un target più vecchio il formattatore le omette. Scegli la versione più vecchia su cui deve girare il tuo codice.
› Può formattare file che mescolano HTML e PHP?
Sì. I file di template con HTML inline e short echo tag sono supportati. Le parti PHP vengono formattate e l'HTML tra di esse viene lasciato com'è.
› Il mio codice viene caricato?
No. Il formattatore gira interamente nel tuo browser e nulla viene inviato a un server.