Como organizar las rutas de un Proyecto en varios Archivos en Laravel 6

3 minuto(s)

En Laravel las rutas de un proyecto, pueden ser definidas sin problemas en el archivo web.php que se encuentra en routes > web.php o para una API en el archivo api.php que se encuentra en el archivo routes > api.php y no hay tantas rutas que necesitemos especificar, lo sensato sería no llenar con mas de 45 rutas nuestro archivo web.php o api.php, si tu proyecto cuenta con mas de 45 rutas, es bueno organizarlas en varios archivos y en este Post te enseñare como hacerlo.

Antes de continuar, te invito a leer el artículo: Que es Laravel + Tu Primera Aplicación con Laravel, para que estés familiarizado con este Post, si ya conoces sobre Laravel, no hay problema, puedes continuar.

Bien continuemos con el Post: Como organizar las rutas de un Proyecto en varios Archivos en Laravel 6.

Agregando otro archivo de Rutas

Abre el archivo RouteServiceProvider.php que se encuentra en app > Providers > RouteServiceProvider.php y busca el método map(), aquí el provider (proovedor) mapeará tus rutas.

Si revisar en el archivo RouteServiceProvider.php te darás cuenta que las rutas para Web y para API se llaman utilizando otros métodos.

Ahora sencillamente escribo una ruta web que apunte a un archivo personalizado llamado mis-rutas.php en donde coloco las rutas web de mi proyecto, la coloco después de $this->mapWebRoutes();


Laravel identificará las rutas que se encuentren en el archivo mis-rutas.php

Agrupar un archivo

El Facade Routes nos permite crear un grupo de rutas utilizando un Closure que nos devuelve más rutas, pero como vimos en el ejemplo anterior, todo empieza llamando a un archivo.

En el archivo mis-rutas.php podemos usar la misma técnica, en lugar de usar un Closure, simplemente podemos apuntar a otro archivo, haciendo menos cargado el archivo de rutas.


Luego podemos crear un archivo en routes/web/dashboard.php que contenga las rutas para nuestro Dashboard, le asignamos un namespace, prefijo y middleware para todas las rutas.

Asimismo podemos anidar más grupos de rutas dentro de un grupo y así tener múltiples rutas en un archivo:

Un grupo Simple

En algunas ocasiones no es necesario poner nombres, prefijos, namespaces y middlewares a un grupo de rutas. Sencillamente puedes crear un grupo y colocar todas las rutas dentro de el, administrar los prefijos, namespaces y middlewares, ruta por ruta, por ejemplo:

Usando Route Model Binding

También podemos usar Route Model Binding como prefijo, haciendo que todas las rutas secundarias compartan el mismo enlace:

Conclusión

Si en alguna oportunidad desarrollas un proyecto con muchas rutas, puedes ver que es importante organizarlas en varios archivos y no llenar los archivo web.php o api.php de muchas rutas, esto te confundirá y no tendrás un optimo control, por otro lado Laravel demorará más tiempo en consultar las rutas que los usuarios visiten, provocando lentitud al buscar ruta por ruta.

Nota(s)

  • Los, métodos, funciones, etc. mencionados en este Post, pueden ser modificados, ser eliminados o continuar, esto no depende de mi, si no de los desarrolladores que dan soporte a Laravel.
  • No olvides que debemos usar la Tecnología para hacer cosas Buenas por el Mundo. 

 

Síguenos en nuestras Redes Sociales para que no te pierdas nuestros próximos contenidos.