Cos’è Laravel Pint
Laravel Pint è uno strumento di formattazione automatica del codice costruito su PHP CS Fixer. È progettato per essere usato senza configurazione e formatta il codice secondo lo stile di codifica di Laravel. Automatizzando i “commenti di code review sullo stile” comuni nello sviluppo in team, puoi concentrarti sulle revisioni davvero importanti.Installazione
Nelle nuove applicazioni Laravel Pint è già installato. Nei progetti più vecchi installalo con Composer.Esecuzione
Uso di base
Corregge automaticamente tutti i file.php del progetto.
Elenco delle opzioni
Configurazione
Puoi personalizzare il comportamento creandopint.json nella root del progetto.
Preset
Un preset è un insieme di regole. Il preset predefinito èlaravel con le regole più adatte a progetti Laravel.
Personalizzazione delle regole
Puoi attivare/disattivare singole regole inpint.json. Le regole disponibili sono elencate in PHP CS Fixer Configurator.
Esclusione di file/cartelle
Puoi escludere cartelle specifiche dal controllo.notName.
notPath.
Configurazione consigliata
Esempio dipint.json efficace nella pratica di sviluppo.
no_unused_imports è pensato per lo sviluppo di pacchetti. Il default di Pint è true (rimuovere gli use inutilizzati); nei normali progetti Laravel la voce è superflua. Nello sviluppo di pacchetti ci sono pattern con trait/interfacce importate per attivare/disattivare funzionalità, quindi metterlo a false e cambiarlo a true in base al pacchetto è comodo.Script in composer.json
Registrando gli script incomposer.json puoi eseguire composer pint direttamente.
Nei CI usa
composer pint:test per rilevare violazioni senza modificare i file. Con l’opzione --test esce con codice diverso da zero in caso di errore, utile per il gate del CI.Esecuzione automatica con GitHub Actions
Puoi usare GitHub Actions per correggere e committare automaticamente lo stile a ogni push.1
Configura i permessi del workflow
Nelle Settings > Actions > General > Workflow permissions della repository GitHub attiva “Read and write permissions”.
2
Crea il file di workflow
Crea
.github/workflows/lint.yml.