Dieser Artikel basiert auf den READMEs und dem Quellcode der GitHub-Repositories. Alle drei Pakete befinden sich in einer Beta-Phase vor dem offiziellen Release (Stand: April 2026).
Aktueller Release-Stand (April 2026)
Überblick
Anfang 2026 hat Laravel drei Pakete rund um Code-Analyse veröffentlicht. Sie lassen sich einzeln nutzen, bilden aber miteinander verbunden ein Code-Analyse-Ökosystem.
Sehen wir uns die Pakete der Reihe nach im Detail an.
laravel/surveyor – Engine für statische Analyse
laravel/surveyor ist ein Tool zur statischen Analyse, das PHP-Dateien parst und detaillierte Metainformationen zu Klassen, Methoden, Properties, Rückgabetypen usw. in strukturierter Form bereitstellt. Es ist darauf ausgelegt, diese Informationen so zu extrahieren, dass andere Tools und Pakete sie weiterverarbeiten können.Installation
Grundlegende Verwendung
Eine Datei analysieren
Eine Klasse direkt analysieren
Informationen im ClassResult
Typsystem
Surveyor bringt ein reichhaltiges Typsystem mit, mit dem sich PHP-Typen strukturiert handhaben lassen.Cache-Konfiguration
Analyseergebnisse lassen sich cachen, um die Performance wiederholter Läufe zu verbessern.Analyse von Eloquent-Modellen
Surveyor versucht, eine Verbindung zur Datenbank aufzubauen, um Eloquent-Modelle gesondert zu analysieren. Auch Modell-Relationen, Attribute, Accessoren und Casts werden erkannt.Da Surveyor bei der Analyse von Eloquent-Modellen versucht, sich mit der Datenbank zu verbinden, handelt es sich nicht um eine rein statische Analyse. Performance und Speicherverbrauch werden aktuell verbessert; Beiträge sind willkommen.
laravel/ranger – High-Level-Introspektion
laravel/ranger ist eine High-Level-Bibliothek, die surveyor kapselt, eine Laravel-Anwendung als Ganzes durchläuft und Informationen zu Routen, Modellen, Enums, Broadcast-Events, Umgebungsvariablen, Inertia-Komponenten u. a. sammelt.Installation
Grundlegende Verwendung
Sie beschreiben in Callback-Form, was passieren soll, wenn eine Komponente entdeckt wird.Von Ranger gesammelte Komponenten
laravel/roster – Tool zur Paketerkennung
laravel/roster ist ein Tool, das erkennt, welche Pakete des Laravel-Ökosystems in einem Projekt installiert sind. Paket- und Tool-Autoren können damit einfach Informationen wie „Nutzt dieses Projekt Inertia?” oder „Welche Livewire-Version?” abrufen.Installation
Grundlegende Verwendung
Reale Anwendungsfälle
Tool zur Generierung von KI-Guidelines (Boost)
Laravel Boost nutzt roster, um die installierte Paketkonstellation zu erfassen und die Generierung von Guidelines und Skills für KI-Agenten (GitHub Copilot, Claude usw.) automatisch anzupassen. Auf Basis von Informationen wie „Nutzt dieses Projekt Inertia?” oder „Ist Livewire installiert?” werden passende Guideline-Dateien ausgewählt und dem KI-Agenten bereitgestellt.Einen Kompatibilitätsprüfer für Pakete bauen
Wenn Sie ein Paket entwickeln, dessen Verhalten von den im Nutzerprojekt installierten Paketen abhängt, ist roster äußerst hilfreich.Automatische Generierung von Anwendungsdokumentation
Mit ranger lässt sich ein Tool bauen, das Routen, Modelle und Enums einer Laravel-Anwendung automatisch einsammelt und daraus Dokumentation erzeugt.Fazit
surveyor, ranger und roster bilden im Laravel-Ökosystem eine neue Grundlage für programmatische Code-Analyse. Diese Pakete richten sich primär an Paket- und Tool-Autoren; Endnutzer verwenden sie nicht direkt. Sie werden jedoch aktiv innerhalb offizieller Laravel-Tools wie Laravel Boost genutzt, sodass ein weiterer Ausbau des Ökosystems zu erwarten ist.laravel/surveyor
Engine für statische PHP-Code-Analyse
laravel/ranger
High-Level-Introspektions-Bibliothek
laravel/roster
Tool zur Paketerkennung