Laravel Pint est un outil permettant d'améliorer la qualité du code, notamment en suivant des standards comme le PSR-1, PSR-2, laravel, symfony, ...
Il permet d'analyser et de corriger en fonction du standard utilisé. Celui-ci est sans dépendance construit directement sur PHP-CS-Fixer. Il est très facile d'installer ce package il suffit d'exécuter cette commande :
composer require laravel/pint --dev
Laravel Pint possède un gros avantage par rapport à PHP-CS-Fixer, il n'a pas besoin de configuration pour être utilisé.
Cependant il est tout de même possible de créer un fichier pint.json à la racine du projet pour y configurer des préréglages :
{
"preset": "psr12",
}
L'outil peut s'exécuter de plusieurs façons :
./vendor/bin/pint
./vendor/bin/pint --test
./vendor/bin/pint -v
La première commande permet d'analyser le code et d'effectuer directement les modifications.
La seconde commande permet seulement d'analyser le code.
La dernière commande permet d'analyser et d'effectuer les modifications tous en affichant les détails de celles-ci.
On peut voir que Laravel Pint implémente des règles comme braces, blank_line_before_statement. Il faut savoir que depuis le fichier configuration nous pouvons désactiver certaines règles.
{
"preset": "psr12",
"rules": {
"braces": false
}
}
Il est également possible d'isoler certain dossier ou fichier que nous voulons pas tester :
{
"exclude": [
"my-specific/folder"
]
}
{
"notName": [
"*-my-file.php"
]
}
Après avoir testé le package, je trouve que niveau performances (temps d'exécution, configuration, ...) il est au bien dessus de PHP-CS-Fixer.