Prologo
Primi Passi
Architettura
Le Basi
- Routing
- Middleware
- Protezione da CSRF
- Controller
- Richieste
- Risposte
- Views
- Blade
- Vite
- URL
- Sessioni
- Validazione
- Errori
- Logging
Approfondimenti
- Artisan
- Broadcasting
- Cache
- Collezioni
- Concorrenza
- Contesto
- Contratti
- Eventi
- File System
- Helpers
- Client HTTP
- Localizzazione
- Notifiche
- Sviluppo di Package
- Processi
- Code
- Rate-limiting
- Stringhe
- Scheduling di Task
Sicurezza
Database
Eloquent ORM
Testing
Package
Pint
Introduzione
Laravel Pint è un correttore di stile del codice PHP orientato ai minimalisti. Pint è basato su PHP-CS-Fixer e rende semplice mantenere il tuo stile di codice pulito e coerente.
Pint viene installato automaticamente con tutte le nuove applicazioni Laravel, quindi puoi iniziare a usarlo subito. Per impostazione predefinita, Pint non richiede alcuna configurazione e correggerà i problemi di stile del codice seguendo lo stile di codifica di Laravel.
Installazione
Pint è incluso nelle versioni recenti del framework Laravel, quindi solitamente non è necessario installarlo. Tuttavia, per applicazioni più vecchie, puoi installare Laravel Pint tramite Composer:
composer require laravel/pint --dev
Eseguire Pint
Puoi chiedere a Pint di correggere i problemi di stile del codice eseguendo il binario pint
che si trova nella directory vendor/bin
del tuo progetto:
./vendor/bin/pint
Puoi anche eseguire Pint su file o cartelle specifiche:
./vendor/bin/pint app/Models
./vendor/bin/pint app/Models/User.php
Pint mostrerà una lista dettagliata di tutti i file che aggiorna. Puoi vedere ancora più dettagli sui cambiamenti di Pint usando l’opzione -v
quando esegui Pint:
./vendor/bin/pint -v
Se vuoi che Pint controlli solo il tuo codice per errori di stile senza modificare i file, puoi usare l’opzione --test
. Pint restituirà un codice di uscita diverso da zero se vengono trovati errori di stile nel codice:
./vendor/bin/pint --test
Se vuoi che Pint modifichi solo i file che hanno cambiamenti non committati secondo Git, puoi usare l’opzione --dirty
:
./vendor/bin/pint --dirty
Se vuoi che Pint corregga i file con errori di stile del codice e termini con un codice di uscita diverso da zero se vengono sistemati degli errori, puoi usare l’opzione --repair
:
./vendor/bin/pint --repair
Configurazione di Pint
Come detto prima, Pint non richiede configurazioni. Tuttavia, se vuoi personalizzare i preset, le regole o le cartelle da controllare, puoi farlo creando un file pint.json
nella directory principale del tuo progetto:
{
"preset": "laravel"
}
Inoltre, se desideri usare un pint.json
da una directory specifica, puoi usare l’opzione --config
quando esegui Pint:
./vendor/bin/pint --config vendor/my-company/coding-style/pint.json
Predefiniti
I predefiniti definiscono un insieme di regole che possono essere utilizzate per correggere i problemi di stile del codice nel tuo progetto. Per impostazione predefinita, Pint usa il predefinito laravel
, che corregge i problemi seguendo lo stile di codifica deciso da Laravel. Tuttavia, puoi specificare un predefinito diverso fornendo l’opzione --preset
a Pint:
./vendor/bin/pint --preset psr12
Se desideri, puoi anche impostare il predefinito nel file pint.json
del tuo progetto:
{
"preset": "psr12"
}
I predefiniti attualmente supportati da Pint sono: laravel
, per
, psr12
, symfony
e empty
.
Regole
Le regole sono linee guida di stile che Pint utilizzerà per correggere i problemi di stile nel tuo codice. Come menzionato sopra, i preset sono gruppi predefiniti di regole che dovrebbero essere perfetti per la maggior parte dei progetti PHP, quindi tipicamente non dovrai preoccuparti delle singole regole che contengono.
Tuttavia, se lo desideri, puoi abilitare o disabilitare regole specifiche nel tuo file pint.json
oppure usare il preset empty
e definire le regole da zero:
{
"preset": "laravel",
"rules": {
"simplified_null_return": true,
"array_indentation": false,
"new_with_parentheses": {
"anonymous_class": true,
"named_class": true
}
}
}
Pint è costruito sopra PHP-CS-Fixer. Pertanto, puoi utilizzare qualsiasi sua regola per correggere i problemi di stile del codice nel tuo progetto: PHP-CS-Fixer Configurator.
Escludere File / Cartelle
Per default, Pint esaminerà tutti i file .php
nel tuo progetto tranne quelli nella directory vendor
. Se vuoi escludere altre cartelle, puoi usare l’opzione di configurazione exclude
:
{
"exclude": [
"my-specific/folder"
]
}
Se vuoi escludere tutti i file che contengono un determinato pattern nel nome, puoi usare l’opzione di configurazione notName
:
{
"notName": [
"*-my-file.php"
]
}
Se desideri escludere un file fornendo un percorso esatto, puoi usare l’opzione di configurazione notPath
:
{
"notPath": [
"path/to/excluded-file.php"
]
}
Continuous Integration
GitHub Actions
Per automatizzare il linting del tuo progetto con Laravel Pint, puoi configurare GitHub Actions per eseguire Pint ogni volta che viene inviato nuovo codice su GitHub. Prima, assicurati di concedere le "Autorizzazioni di lettura e scrittura" ai workflow in GitHub in Settings > Actions > General > Workflow permissions. Successivamente, crea un file .github/workflows/lint.yml
con il seguente contenuto:
name: Fix Code Style
on: [push]
jobs:
lint:
runs-on: ubuntu-latest
strategy:
fail-fast: true
matrix:
php: [8.3]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: json, dom, curl, libxml, mbstring
coverage: none
- name: Install Pint
run: composer global require laravel/pint
- name: Run Pint
run: pint
- name: Commit linted files
uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: "Fixes coding style"