Skip to main content

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.
Je kunt ook alleen specifieke bestanden of directory’s als doel opgeven.
Standaard formatteert Pint geen Blade-templates. Geef je --blade op, dan worden alleen voor die run ook .blade.php-bestanden geformatteerd, zonder pint.json te wijzigen.
Deze optie schakelt de regel 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 een pint.json aan te maken.
Je kunt het pad naar het configuratiebestand ook expliciet opgeven.

Presets

Een preset is een set regels. De standaard is de laravel-preset, met regels die optimaal zijn voor Laravel-projecten.

Regels aanpassen

In pint.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.
Gebruik notName om uit te sluiten op bestandsnaampatronen.
Gebruik notPath om uit te sluiten op een specifiek bestandspad.

Aanbevolen configuratie

Hier een voorbeeld van een pint.json-configuratie die effectief is in de praktijk.
De redenen om elke regel toe te voegen zijn als volgt.
Omdat strict_comparison en declare_strict_types typestrikte code afdwingen, kan de eerste correctieronde bij bestaande projecten omvangrijk zijn. Bij nieuwe projecten raden we aan ze vanaf het begin in te voeren.
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 in composer.json een script voor pint registreert, kun je het uitvoeren met alleen composer pint.
Na registratie voer je het zo uit:
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.
Deze workflow voert Pint uit bij elke push en commit automatisch de bestanden waarin stijlschendingen zijn gecorrigeerd.
Omdat de automatische correcties vóór de review van een pull request plaatsvinden, nemen reviewcommentaren over codestijl af. Voer je dit in met je team, corrigeer dan eerst lokaal alle bestanden voordat je de workflow toevoegt — zo voorkom je overbodige commits.
Laatst gewijzigd op 6 september 2026