Dit artikel is gebaseerd op de README’s en broncode van de GitHub-repositories. Alle drie de pakketten zijn bètaversies van vóór de officiële release (stand: april 2026).
Actuele releasestatus (april 2026)
Overzicht
Laravel heeft begin 2026 drie pakketten gepubliceerd rond codeanalyse. Ze zijn ook los te gebruiken, maar vormen samen een onderling verbonden code-analyse-ecosysteem.
Laten we de details van elk pakket op volgorde bekijken.
laravel/surveyor — de statische-analyse-engine
laravel/surveyor is een statische-analysetool die PHP-bestanden parseert en gedetailleerde metadata over klassen, methoden, properties, returntypes en meer aanlevert in gestructureerde vorm. Het is gespecialiseerd in het extraheren van informatie in een vorm die andere tools en pakketten kunnen gebruiken.Installatie
Basisgebruik
Een bestand analyseren
Een klasse rechtstreeks analyseren
Informatie die je uit een ClassResult haalt
Het typesysteem
Surveyor heeft een uitgebreid typesysteem waarmee je PHP-types gestructureerd kunt behandelen.Cacheconfiguratie
Je kunt analyseresultaten cachen om de prestaties bij herhaalde uitvoering te verbeteren.Analyse van Eloquent-modellen
Surveyor probeert verbinding te maken met de database en analyseert Eloquent-modellen speciaal. Ook relaties, attributen, accessors en casts van modellen worden gedetecteerd.Omdat Surveyor bij het analyseren van Eloquent-modellen verbinding met de database probeert te maken, is het geen volledig statische analyse. Verder worden de prestaties en het geheugengebruik momenteel verbeterd; bijdragen zijn welkom.
laravel/ranger — high-level introspectie
laravel/ranger is een high-level bibliotheek die surveyor omhult en de hele Laravel-applicatie doorloopt om informatie te verzamelen over routes, modellen, enums, broadcast-events, omgevingsvariabelen, Inertia-componenten en meer.Installatie
Basisgebruik
Je beschrijft in callbackvorm wat er moet gebeuren wanneer elk component wordt gevonden.De componenten die Ranger verzamelt
laravel/roster — pakketdetectietool
laravel/roster is een tool die detecteert welke pakketten uit het Laravel-ecosysteem in een project zijn geïnstalleerd. Pakketontwikkelaars en toolauteurs kunnen zo eenvoudig informatie ophalen als “gebruikt dit project Inertia?” of “welke versie van Livewire?”.Installatie
Basisgebruik
Praktische use-cases
Tool voor het genereren van AI-richtlijnen (Boost)
Laravel Boost gebruikt roster om de geïnstalleerde pakketconfiguratie in kaart te brengen en past daarmee het genereren van richtlijnen en skills voor AI-agents (zoals GitHub Copilot en Claude) automatisch aan. Op basis van informatie als “gebruikt dit project Inertia?” en “is Livewire aanwezig?” worden de juiste richtlijnbestanden geselecteerd en aan de AI-agent aangeboden.Een pakketcompatibiliteitschecker bouwen
Ontwikkel je een pakket dat zijn gedrag aanpast aan de pakketten die in het project van de gebruiker zijn geïnstalleerd, dan is roster bijzonder nuttig.Automatisch applicatiedocumentatie genereren
Met ranger kun je tools bouwen die de routes, modellen en enums van een Laravel-app automatisch verzamelen en er documentatie van genereren.Conclusie
surveyor, ranger en roster leveren een nieuw fundament voor programmatische codeanalyse binnen het Laravel-ecosysteem. Deze pakketten zijn vooral bedoeld voor pakketontwikkelaars en toolauteurs, niet voor rechtstreeks gebruik door eindgebruikers. Ze worden echter ook actief gebruikt binnen officiële Laravel-tools zoals Laravel Boost, en verdere uitbreiding van het ecosysteem is te verwachten.laravel/surveyor
Statische-analyse-engine voor PHP-code
laravel/ranger
High-level introspectiebibliotheek
laravel/roster
Pakketdetectietool