Skip to main content

Introduzione

Laravel Folio è un router basato sulle pagine che ti consente di definire le route semplicemente collocando file Blade. A differenza della definizione tradizionale centrata su routes/web.php, riflette direttamente nell’URL la struttura del filesystem. È particolarmente utile per siti orientati ai contenuti o per pannelli di amministrazione in cui vuoi aggiungere rapidamente pagine schermata per schermata. Per aree che richiedono un controllo HTTP granulare, come le API, in pratica lo si affianca al routing tradizionale.

Installazione

Per prima cosa aggiungi Folio con Composer.
folio:install registra il service provider di Folio. Per impostazione predefinita la directory delle pagine è resources/views/pages/. Se usi più directory di pagine o vuoi differenziare gli URI di base, configura Folio::path() e uri() nel metodo boot del service provider.

Creazione delle route

Folio genera automaticamente l’URL dal nome del file Blade posto sotto la directory montata.

Route annidate

Annidando le directory, anche l’URL viene annidato con la stessa struttura.

Route index

index.blade.php viene mappato sulla root della sua directory.

Parametri di route

Puoi ricevere segmenti di URL con [] nel nome del file.
Per ricevere più segmenti usa ....

Route model binding

Se usi il nome del modello, come [User].blade.php, la risoluzione del modello avviene automaticamente.
Per gestire anche i modelli soft-deleted, chiama withTrashed() all’interno della pagina.
Scrivendo ad esempio [Post:slug].blade.php, puoi risolvere il modello anche con chiavi diverse da id (ad esempio slug).

Middleware

Per applicare un middleware solo a una pagina specifica, usa middleware() all’interno del template della pagina.
Per applicarlo in blocco a più pagine, usa Folio::path(...)->middleware().

Route con nome

Anche le pagine Folio possono avere un nome tramite name().
Definendo name('users.show') in una pagina individuale come users/[User].blade.php, puoi generare l’URL parametrizzato con route('users.show', ['user' => $user]).
Con l’helper route() puoi generare l’URL a partire dal nome della route.

Corrispondenza tra file e URL

Confronto con il routing tradizionale

Anche usando Folio, puoi ottimizzare le prestazioni in produzione abilitando la cache delle route con php artisan route:cache.
Ultima modifica il 13 luglio 2026