Skip to main content

Introducción

Laravel Folio es un router basado en páginas que te permite definir rutas simplemente colocando archivos Blade. A diferencia de las definiciones tradicionales centradas en routes/web.php, la estructura del sistema de archivos se refleja tal cual en las URLs. Resulta especialmente útil en sitios centrados en contenido o en paneles de administración donde quieres añadir páginas con rapidez. En áreas que requieren un control HTTP muy fino, como una API, es habitual combinarlo con el enrutamiento tradicional.

Instalación

Primero añade Folio con Composer.
folio:install registra el service provider de Folio. Por defecto el directorio de páginas es resources/views/pages/. Si necesitas manejar varios directorios de páginas o URIs base, configura Folio::path() y uri() en el boot de un service provider.

Creación de rutas

Folio genera automáticamente URLs a partir de los nombres de los archivos Blade bajo el directorio montado.

Rutas anidadas

Al anidar directorios, la URL también queda anidada con la misma estructura.

Rutas índice

index.blade.php se mapea a la raíz de ese directorio.

Parámetros de ruta

Con los [] en el nombre del archivo puedes capturar segmentos de la URL.
Para capturar varios segmentos usa ....

Route model binding

Si usas el nombre del modelo, como en [User].blade.php, la resolución del modelo se hace automáticamente.
Si necesitas incluir modelos con soft delete, llama a withTrashed() dentro de la página.
Si escribes [Post:slug].blade.php, también podrás resolver el modelo por una clave distinta de id (por ejemplo, slug).

Middleware

Para aplicarlo solo a una página concreta, usa middleware() dentro de la plantilla.
Para aplicarlo en bloque a varias páginas, usa Folio::path(...)->middleware().

Rutas con nombre

También puedes asignar un nombre a las páginas Folio con name().
Si en una página individual como users/[User].blade.php defines name('users.show'), podrás generar URLs con parámetros mediante route('users.show', ['user' => $user]).
Los nombres asignados se pueden usar para generar URLs con el helper route().

Correspondencia entre archivos y URLs

Comparación con el enrutamiento tradicional

Aun usando Folio, puedes optimizar el rendimiento en producción activando la caché de rutas con php artisan route:cache.
Última modificación el 13 de julio de 2026