Entendiendo Laravel Folio: Una Guía para Desarrolladores Principiantes e Intermedios

/* by Ajay Patel - July 25, 2023 */

Laravel Folio, presentado en LaraconUS 2023, es un nuevo sistema de enrutamiento automático basado en archivos y directorios para Laravel. Esta función permite a los desarrolladores asignar una ruta a un archivo o carpeta específicos, de forma similar a los sistemas de enrutamiento basados en archivos de frameworks como NextJS o NuxtJS.

Cómo funciona Laravel Folio

Después de instalar Folio en tu aplicación Laravel, puedes crear una nueva página utilizando el siguiente comando artisan: php artisan make:folio index. Este comando creará un nuevo archivo dentro de un nuevo directorio pages situado en resources/views/pages/index.blade.php. Ahora, cuando visites tu aplicación en el navegador, cargará esta plantilla como página de inicio.

Páginas comodín

Laravel Folio también admite comodines en los nombres de tus páginas, lo que permite un enrutamiento dinámico. Por ejemplo, si quisieras visitar una ruta que se pareciera a /usuarios/1, podrías crear un archivo llamado [id].blade.php dentro de una carpeta de usuarios. Dentro del archivo, ahora tendrás acceso a $id, que se puede utilizar para buscar al usuario.

También puedes aprovechar la vinculación al modelo de ruta cambiando el nombre del archivo para utilizar el Modelo, de esta forma /users/[User].blade.php. Esto cargará automáticamente el Usuario con el id pasado.

Directorios comodín

Folio también te permite vincular modelos a un directorio. Por ejemplo, si quisieras crear una página de información para cada usuario, podrías crear una URL dinámica parecida a: /users/taylorotwell/info creando la siguiente estructura de carpetas: resources/views/pages/users/[User:username]/info.blade.php.

Middleware Folio

También puedes aprovechar el Middleware con el enrutamiento basado en páginas. Por ejemplo, puedes añadir una nueva Política dentro del directorio app/Políticas, y luego dentro de la vista, puedes añadir el siguiente código:

{{ $post->title }}
{!! $post->body !!}

Si el usuario no tiene acceso, verá un código 403 Prohibido; de lo contrario, podrá ver la publicación.

Conclusión

Laravel Folio proporciona una forma potente y flexible de manejar el enrutamiento en tu aplicación Laravel. Permite una mezcla de rutas basadas en páginas y rutas tradicionales dentro de tu aplicación. El lanzamiento de Laravel Folio está previsto para la semana que viene, y es una función que promete aportar mucho valor a la comunidad Laravel.