Questo articolo si basa sui README e sul codice sorgente dei repository GitHub. I tre pacchetti sono tutti in versione Beta prima del rilascio stabile (dato di aprile 2026).
Ultime release (aprile 2026)
Panoramica
All’inizio del 2026 Laravel ha pubblicato tre pacchetti relativi all’analisi del codice. Ciascuno può essere usato da solo, ma insieme formano un ecosistema di analisi del codice integrato.
Vediamo nel dettaglio ogni pacchetto in ordine.
laravel/surveyor — motore di analisi statica
laravel/surveyor è uno strumento di analisi statica che effettua il parsing di file PHP e fornisce meta-informazioni dettagliate su classi, metodi, proprietà, tipi di ritorno, ecc., in formato strutturato. È specializzato nell’estrarre informazioni in un formato utilizzabile da altri tool e pacchetti.Installazione
Uso di base
Analizzare un file
Analizzare direttamente una classe
Informazioni ottenibili con ClassResult
Sistema di tipi
Surveyor ha un sistema di tipi ricco che permette di trattare i tipi PHP in modo strutturato.Configurazione della cache
Puoi memorizzare in cache i risultati di analisi per migliorare le prestazioni delle esecuzioni ripetute.Analisi dei modelli Eloquent
Surveyor prova a connettersi al database e analizza in modo speciale i modelli Eloquent. Rileva anche relazioni, attributi, accessor e cast del modello.Poiché Surveyor tenta di connettersi al database durante l’analisi dei modelli Eloquent, non è un’analisi completamente statica. Inoltre, prestazioni e uso di memoria sono in fase di miglioramento e i contributi sono benvenuti.
laravel/ranger — introspezione ad alto livello
laravel/ranger è una libreria ad alto livello che avvolge surveyor e attraversa l’intera applicazione Laravel per raccogliere informazioni su rotte, modelli, Enum, eventi broadcast, variabili d’ambiente e componenti Inertia.Installazione
Uso di base
In stile callback, descrivi come processare ciascun componente quando viene scoperto.Componenti raccolti da Ranger
laravel/roster — strumento di rilevamento pacchetti
laravel/roster è uno strumento che rileva quali pacchetti dell’ecosistema Laravel sono installati in un progetto. Sviluppatori di pacchetti e autori di tool possono facilmente ottenere informazioni come “questo progetto usa Inertia?” o “quale versione di Livewire?”.Installazione
Uso di base
Casi d’uso reali
Strumento di generazione di linee guida AI (Boost)
Laravel Boost usa roster per conoscere la composizione dei pacchetti installati e regolare automaticamente la generazione di linee guida e skill per agenti AI (come GitHub Copilot o Claude). Basandosi su informazioni come “questo progetto usa Inertia?” o “è installato Livewire?”, seleziona i file di linee guida appropriati e li fornisce all’agente AI.Creare un checker di compatibilità tra pacchetti
Se sviluppi un pacchetto il cui comportamento cambia in base ai pacchetti installati nel progetto dell’utente, roster è molto utile.Generazione automatica di documentazione dell’applicazione
Usando ranger puoi costruire uno strumento che raccoglie automaticamente rotte, modelli ed Enum di un’app Laravel e genera documentazione.Conclusioni
surveyor, ranger e roster forniscono una nuova base per l’analisi programmatica del codice nell’ecosistema Laravel. Questi pacchetti sono pensati principalmente per sviluppatori di pacchetti e autori di tool, non per l’utente finale. Tuttavia sono già utilizzati attivamente all’interno degli strumenti ufficiali di Laravel come Laravel Boost e ci si aspetta un’ulteriore espansione dell’ecosistema.laravel/surveyor
Motore di analisi statica del codice PHP
laravel/ranger
Libreria di introspezione ad alto livello
laravel/roster
Strumento di rilevamento pacchetti