Skip to main content
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).
surveyor, ranger und roster sind alle im Beta-Release. Vor der Version 1.0.0 kann sich die API ändern. Wägen Sie den Einsatz in der Produktion sorgfältig ab.

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.
Die Konfiguration ist auch über Umgebungsvariablen möglich.

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
Zuletzt geändert am 13. Juli 2026