Skip to main content
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).
surveyor, ranger e roster sono tutti in rilascio Beta. L’API potrebbe cambiare prima del rilascio di v1.0.0. Valuta con attenzione l’uso in produzione.

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.
Puoi configurarla anche tramite variabili d’ambiente.

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
Ultima modifica il 13 luglio 2026