Skip to main content
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).
surveyor, ranger en roster zijn alle drie in bètarelease. De API’s kunnen vóór de v1.0.0-release nog veranderen. Wees voorzichtig met het gebruik in productieomgevingen.

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.
Configureren kan ook via omgevingsvariabelen.

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
Laatst gewijzigd op 6 september 2026