Qu’est-ce que Laravel Pint
Laravel Pint est un outil de correction automatique du style de code basé sur PHP CS Fixer. Prêt à l’emploi sans configuration, il formate le code selon les conventions Laravel. En automatisant les remarques de style, vous vous concentrez sur les vraies discussions de code review.Installation
Pint est installé automatiquement dans les nouvelles applications Laravel. Sinon, ajoutez-le via Composer.Utilisation
Base
Corrige tous les fichiers.php du projet.
Options
| Option | Description |
|---|---|
--test | Vérifie sans modifier ; code de sortie non nul si erreur |
--dirty | Ne cible que les fichiers modifiés non commit |
--diff=[branch] | Fichiers différents par rapport à la branche indiquée |
--repair | Corrige et retourne un code non nul si des modifications ont eu lieu |
--parallel | Exécution parallèle (expérimental) |
--max-processes=4 | Nombre max de processus (avec --parallel) |
-v | Détail des changements |
--config | Chemin d’un pint.json |
--preset | Preset à utiliser |
Configuration
Créez unpint.json à la racine.
Presets
Un preset est un ensemble de règles.laravel est le défaut, optimal pour les projets Laravel.
| Preset | Description |
|---|---|
laravel | Style Laravel recommandé (défaut) |
psr12 | Standard PSR-12 |
per | PER Coding Style |
symfony | Style Symfony |
empty | Aucune règle, à composer |
Personnalisation des règles
Activez / désactivez individuellement danspint.json. Consultez le PHP CS Fixer Configurator.
Exclusions
Exclure des dossiers :Configuration recommandée
Exemple efficace depint.json.
| Règle | Effet |
|---|---|
no_unused_imports | false conserve les use non utilisés. Par défaut Pint les supprime (true) : cette option n’est pas nécessaire dans un projet Laravel standard |
strict_comparison | Remplace == par === et != par !== pour éviter les bugs de conversion de type |
declare_strict_types | Ajoute automatiquement declare(strict_types=1); en tête de fichier |
no_unused_imports est surtout utile en développement de package. Par défaut, Pint supprime les use inutilisés (true) ; il n’est donc pas nécessaire dans un projet Laravel classique. Dans les packages, les imports de traits ou d’interfaces jouent un rôle d’activation, donc false puis true selon les cas est pratique.Scripts composer.json
Ajoutez des scripts pour lancer pint plus facilement.
En CI, utilisez
composer pint:test pour détecter les violations sans modifier les fichiers. --test retourne un code non nul en cas d’erreurs.Automatisation via GitHub Actions
Exécutez Pint et committez automatiquement les corrections à chaque push.Configurer les permissions du workflow
Dans Settings > Actions > General > Workflow permissions, activez « Read and write permissions ».