Laravel Pint è uno strumento open source per il fixing dello stile del codice, pensato appositamente per Laravel.
Si basa sul noto progetto PHP-CS-Fixer e non richiede l’installazione di dipendenze aggiuntive. Laravel Pint ti aiuta a mantenere il codice ordinato e conforme agli standard PSR, migliorando la qualità del codice e la collaborazione tra sviluppatori.
Che cos’è PHP-CS-Fixer
Se non hai mai sentito parlare di PHP-CS-Fixer, si tratta di una libreria open source che consente di uniformare lo stile del codice seguendo regole predefinite o personalizzabili (lo rende più “facile a leggere”). Le regole possono essere configurate in base alle esigenze del team oppure rispettare gli standard PSR (PHP Standard Recommendation), stabiliti dal gruppo PHP-FIG (PHP Framework Interoperability Group). Puoi consultare le regole PSR-12 aggiornate qui.
PHP-CS-Fixer analizza l’intero progetto e applica automaticamente correzioni di stile, migliorando la leggibilità e la manutenibilità del codice. Questo strumento aiuta a ridurre gli errori legati alla formattazione (come indentazioni errate, spaziature mal gestite o parentesi disallineate) e ti permette di concentrarti sullo sviluppo delle funzionalità.
Perché scegliere Laravel Pint
A differenza di PHP-CS-Fixer, che può risultare complicato da configurare, Laravel Pint è creato su misura per Laravel. Questo significa che rispetta gli standard PSR senza bisogno di configurazioni aggiuntive: una soluzione ideale per chi sviluppa con Laravel. Il preset predefinito è già ottimizzato per Laravel, e ti permette di avere codice conforme a PSR-12 senza interventi manuali. Inoltre, Pint facilita l’onboarding di nuovi membri del team, rendendo più rapida l’integrazione grazie a regole di codifica standardizzate.
Installazione di Laravel Pint
Se stai iniziando un nuovo progetto Laravel, Pint è già incluso nelle dipendenze di sviluppo di default. Controlla il file composer.json
per verificarlo:
"require-dev": {
...
"laravel/pint": "^1.13",
...
},
Se invece stai lavorando su un progetto esistente e Pint non è ancora installato, puoi aggiungerlo eseguendo il comando:
composer require laravel/pint --dev
Come usare Laravel Pint
Una volta installato, lancia Laravel Pint eseguendo:
./vendor/bin/pint
Questo comando applicherà le regole di stile su tutto il progetto. Se desideri limitare il controllo a una singola cartella o a un singolo file, puoi farlo con questi comandi:
- Per una specifica cartella:
./vendor/bin/pint app/Models
- Per un singolo file:
./vendor/bin/pint app/Models/User.php
Personalizzazione dei preset
Di default, Laravel Pint utilizza il preset Laravel, ma puoi facilmente cambiarlo se necessario. Ad esempio, per formattare il progetto secondo lo standard PSR-12, crea un file pint.json nella root del progetto:
touch pint.json
All’interno di pint.json, inserisci il seguente contenuto per utilizzare il preset PSR-12:
{
"preset": "psr12"
}
Laravel Pint supporta attualmente i preset laravel, psr12 e symfony.
Configurazioni avanzate
Se hai bisogno di personalizzare ulteriormente Laravel Pint, puoi farlo aggiungendo regole specifiche. Ad esempio, se vuoi semplificare i return null nel codice, puoi aggiungere la seguente regola nel file pint.json:
{
"preset": "laravel",
"rules": {
"simplified_null_return": true
}
}
Eseguendo nuovamente Laravel Pint, il codice sarà corretto automaticamente secondo questa regola.
Escludere file o cartelle
Se vuoi escludere determinati file o cartelle dal controllo di Laravel Pint, puoi configurare queste esclusioni nel file pint.json. Ad esempio, per escludere una cartella specifica:
{
"exclude": [
"package/cartella-da-escludere"
]
}
Oppure per escludere file con un pattern di nome specifico:
{
"notName": [
"*-v2.php"
]
}
Puoi anche escludere singoli file specifici:
{
"notPath": [
"package/cartella/file.php"
]
}
Conclusione
Laravel Pint è uno strumento estremamente utile per chi lavora con Laravel, poiché semplifica la gestione dello stile del codice seguendo gli standard PSR. La sua integrazione nativa e la semplicità d’uso ti permettono di risparmiare tempo e migliorare la qualità del codice. Inoltre, Laravel Pint eredita tutta la potenza di PHP-CS-Fixer, offrendoti un controllo avanzato grazie ai preset già configurati e alla possibilità di personalizzare ulteriormente le regole di formattazione.