Afortunadamente Laravel nos permite hacer lo que se llama rutas agrupadas con las cuales podemos bajo un mismo estilo de URL y valga la redundancia agrupar nuestras vistas con un prefijo con el cual sabremos que todos los llamados que se hagan por esa vía corresponderán a un controlador en particular.
¿Cómo hacer la agrupación de rutas?
Para lograr realizar esta actividad debemos realizar una instalación estándar de Laravel, dentro de la cuál vamos a realizar las siguientes acciones.
1- Primero debemos construir un filtro, dentro de este vamos a validar una variable de sesión que nuestra aplicación debe generar, con ello podremos tener un control simple de quien puede ver los recursos de nuestra ruta agrupada. Veamos en el siguiente ejemplo nuestro filtro, el cual debemos crear en el archivo filters.php:
Aquí vemos que hemos hecho una validación que como indicábamos, pregunta por una variable de sesión, si no la tenemos nos arroja un mensaje.
2- Vamos a crear ahora una ruta que nos ayude a establecer los valores de las variables de sesión que necesitamos, de esta manera podremos simular el funcionamiento de nuestro filtro y ver cómo se comporta nuestra aplicación, para ello vamos a hacer lo que vemos en el ejemplo en la siguiente imagen, en el archivo routes.php:
Vemos acá entonces como establecemos la sesión, una vez hecho esto hacemos una re-dirección del usuario a la ruta perfil/usuario, esta será nuestra ruta agrupada que ya veremos en los próximos pasos.
3- Ahora debemos establecer la agrupación de las rutas, para ello vamos a crear una ruta normal pero en vez de colocar el método HTTP vamos a colocar la palabra group y dentro agregaremos el filtro que hemos realizado en el before, es decir, antes de ejecutar el resto del contenido de la ruta, a continuación crearemos el prefijo que regirá nuestro grupo, en el caso del ejemplo se llamará perfil,luego dentro de este grupo que hemos creado podremos construir todas las rutas deseadas. Veamos la imagen con el ejemplo para tener un mayor entendimiento:
Adicionalmente dentro del ejemplo creamos dos rutas internas, usuarios que es la que nos mostrará un mensaje de acceso al perfil y tenemos una ruta llamada amigos, donde mostramos un mensaje que podría ser la lista de estos.
Con esto finalizamos este tutorial donde hemos construido de forma exitosa una agrupación de rutas en una aplicación estándar de Laravel.