Rutas
Introducción
Section titled “Introducción”El Laravel RoutingKit introduce un sistema de rutas que permite crear y gestionar rutas de forma interactiva desde la consola. Aunque Laravel ofrece una sintaxis potente para definir rutas, su complejidad hace que sea impráctica para un sistema interactivo donde los usuarios necesitan crear rutas dinámicamente.
Este paquete resuelve esta limitación proporcionando una interfaz simplificada que permite:
- Crear rutas desde la línea de comandos de forma interactiva
- Organizar rutas en archivos separados para mejor mantenimiento
- Aplicar filtros para cargar solo las rutas necesarias
- Mantener la flexibilidad de Laravel mientras simplifica la gestión
Configuración de archivos de rutas
Section titled “Configuración de archivos de rutas”El punto de partida de las rutas se centra en el archivo de configuración, específicamente en la sección routes_file_path:
'routes_file_path' => [ 'default_file' => 'dashboard_routes', 'items' => [ 'dashboard_routes' => [ 'path' => base_path('routingkit/Routes/rkRoutes.php'), 'support_file' => "object_file_tree", 'only_string_support' => false, ], //... ]]Estructura de configuración
Section titled “Estructura de configuración”routes_file_path: Arreglo que contiene todas las rutas configuradas.
default_file: Define el archivo por defecto donde se crearán las rutas cuando se insertan en la “raíz” o cuando existe algún problema para encontrar su nodo padre.
items: Hace referencia a los archivos de rutas. Cada elemento tiene una clave que sirve para carga perezosa si es necesario o para cargar solamente algunos archivos específicos.
Propiedades de cada archivo
Section titled “Propiedades de cada archivo”Cada archivo de configuración contiene tres propiedades:
path: Ubicación donde se almacenan los archivos de configuración. Por defecto se crea una carpetaroutingkiten la raíz del proyecto con una subcarpetaRoutesque contiene el archivorkRoutes.php.support_fileyonly_string_support: Se explican en la sección de Conceptos clave - Estructuras de organización.
Registro de rutas
Section titled “Registro de rutas”Registro básico
Section titled “Registro básico”Para registrar todas las rutas configuradas en su aplicación, utilice el método estático en el archivo web.php de su proyecto:
RkRoute::registerRoutes();Registro con filtros
Section titled “Registro con filtros”También puede filtrar las rutas antes del registro. Los filtros son una característica potente que permite cargar solo las rutas necesarias según criterios específicos:
RkRoute::newQuery() ->filtro() ->filtro() ->registerRoutes();Los filtros disponibles se documentan en la sección de Navegación - Filtros y búsqueda.
Obtener rutas para procesamiento personalizado
Section titled “Obtener rutas para procesamiento personalizado”Si necesita aplicar lógica adicional (como seeders de permisos personalizados o implementaciones especiales), puede obtener las rutas sin registrarlas:
$rutas = RkRoute::newQuery() ->filtro() ->filtro() ->get();Enfoque combinado
Section titled “Enfoque combinado”También puede combinar ambos enfoques para mayor flexibilidad:
$rutas = RkRoute::newQuery() ->filtro() ->filtro() ->get();
// Aplicar lógica personalizada a $rutas// ...
RkRoute::registerRoutes($rutas);Este enfoque le permite procesar las rutas antes de registrarlas, útil para casos como:
- Generar permisos automáticamente
- Aplicar middleware personalizado
- Registrar rutas en sistemas de auditoría
- Crear documentación automática de API