Wat is Laravel Pint
Laravel Pint is een tool voor automatische correctie van codestijl, gebouwd op PHP CS Fixer. Hij is ontworpen om zonder configuratie direct bruikbaar te zijn en formatteert je code automatisch volgens de codeerstijl van Laravel. Door de bij teamontwikkeling veelvoorkomende “reviewcommentaren over codestijl” te automatiseren, kun je je concentreren op de inhoudelijke codereview.Installatie
In nieuw aangemaakte Laravel-applicaties is Pint automatisch geïnstalleerd. Voor projecten met een oudere versie installeer je hem met Composer.Uitvoeren
Basisgebruik
Corrigeert automatisch alle.php-bestanden in het project.
--blade op, dan worden alleen voor die run ook .blade.php-bestanden geformatteerd, zonder pint.json te wijzigen.
Pint/laravel_blade in. Omdat Pint Prettier gebruikt in combinatie met prettier-plugin-blade en prettier-plugin-tailwindcss, is Node.js vereist. Als bij de eerste run Prettier-dependencies ontbreken, word je gevraagd deze te installeren.
Overzicht van opties
Configuratie
Je kunt het gedrag aanpassen door in de projectroot eenpint.json aan te maken.
Presets
Een preset is een set regels. De standaard is delaravel-preset, met regels die optimaal zijn voor Laravel-projecten.
Regels aanpassen
Inpint.json kun je regels afzonderlijk in- of uitschakelen. De beschikbare regels vind je in de PHP CS Fixer Configurator.
Bestanden en mappen uitsluiten
Je kunt bepaalde mappen uitsluiten van de controle.notName om uit te sluiten op bestandsnaampatronen.
notPath om uit te sluiten op een specifiek bestandspad.
Aanbevolen configuratie
Hier een voorbeeld van eenpint.json-configuratie die effectief is in de praktijk.
no_unused_imports is een instelling voor pakketontwikkeling. De standaard van Pint is true (ongebruikte use-statements verwijderen), dus in een gewoon Laravel-project is dit item helemaal niet nodig. Bij pakketontwikkeling bestaat het patroon om functionaliteit aan of uit te zetten via imports van traits of interfaces; daarom is het handig om false toe te voegen en dit per pakket naar true te wijzigen waar dat past.Scripts instellen in composer.json
Als je incomposer.json een script voor pint registreert, kun je het uitvoeren met alleen composer pint.
In een CI-omgeving kun je met
composer pint:test stijlschendingen detecteren zonder bestanden te wijzigen. De optie --test geeft bij fouten een exitcode ongelijk aan nul terug en is daarom bruikbaar als pass-check in CI.Automatisch uitvoeren met GitHub Actions
Met GitHub Actions kun je bij elke push de codestijl automatisch laten corrigeren en committen.1
Stel de workflowrechten in
Schakel in je GitHub-repository onder Settings > Actions > General > Workflow permissions “Read and write permissions” in.
2
Maak het workflowbestand aan
Maak
.github/workflows/lint.yml aan.