Rutas
El sistema ofrece dos tipos distintos de rutas. Siempre puedes seguir usando el sistema nativo de Laravel para lógica más compleja, incluso en conjunto con este paquete.
Rutas Grupo
Section titled “Rutas Grupo”RkRoute::makeGroup()
Section titled “RkRoute::makeGroup()”Define un grupo que, entre cortinas, es un grupo de rutas Laravel. Puede establecer valores que se heredan entre los nodos o rutas hijas como dominios, middlewares, prefijos, etc.
RkRoute::makeGruoup('id_grupo') ->setItems({ RkRoute::make('name_route') ->setendBlock('name_route') }) ->setEndBlock('id_grupo')Parámetros Compartidos a Nodos Hijos
Section titled “Parámetros Compartidos a Nodos Hijos”| Parámetro | Tipo | Descripción | Se Hereda |
|---|---|---|---|
prefix | string | Prefijo de URL que se aplica a todas las rutas hijas | ✅ |
herePrefix | string | Prefijo calculado que incluye la herencia del padre | ✅ |
domains | array | Dominios asociados al grupo | ✅ |
urlMiddleware | array | Middlewares que se aplican a todas las rutas del grupo | ✅ |
permissions | array | Permisos adicionales del grupo | ✅ |
roles | array | Roles permitidos para acceder al grupo | ✅ |
accessPermission | string | Permiso de acceso principal | ✅ |
Nodo Común (Ruta Individual)
Section titled “Nodo Común (Ruta Individual)”RkRoute::make(‘name_route’)
Section titled “RkRoute::make(‘name_route’)”Representa una ruta Laravel individual. El paquete resuelve internamente para crear una ruta Laravel nativa. El name sirve como nombre y además como ID de la ruta.
RkRoute::make('name_route') ->setendBlock('name_route')Métodos Disponibles para Nodo Común
Section titled “Métodos Disponibles para Nodo Común”| Método | Parámetros | Descripción | Retorno |
|---|---|---|---|
make(string $id) | $id: Identificador de la ruta | Crea una nueva instancia de ruta | static |
setPermission($permission) | $permission: Permiso o Closure | Establece el permiso de acceso | self |
setPrefix(string $prefix) | $prefix: Prefijo de URL | Establece el prefijo de la ruta | self |
setUrl(?string $url) | $url: URL de la ruta | Establece la URL específica | static |
getFullUrl() | - | Obtiene la URL completa con prefijos | string |
getAllPermissions() | - | Obtiene todos los permisos (principal + adicionales) | array |
addItem(RkEntityInterface $item) | $item: Entidad hija | Añade un elemento hijo | static |
Propiedades Configurables
Section titled “Propiedades Configurables”| Propiedad | Tipo | Descripción | Requerido |
|---|---|---|---|
id | string | Identificador único de la ruta | ✅ |
parentId | string|null | ID de la ruta padre | ❌ |
url | string|null | URL específica de la ruta | ❌ |
urlName | string|null | Nombre de la ruta para Laravel | ❌ |
urlMethod | string | Método HTTP (get, post, put, delete, patch, options) | ✅ |
urlController | string | Controlador asociado | ✅ |
accessPermission | string|null | Permiso principal de acceso | ❌ |
urlMiddleware | array | Middlewares específicos de la ruta | ❌ |
roles | array | Roles permitidos | ❌ |
domains | array | Dominios específicos | ❌ |
prefix | string|null | Prefijo de URL | ❌ |
Comandos Artisan
Section titled “Comandos Artisan”Ambos tipos se pueden crear usando comandos:
# Comando completophp artisan rk:route
# Comando abreviadophp artisan rk:roOpciones del Comando
Section titled “Opciones del Comando”| Opción | Descripción |
|---|---|
--delete | Eliminar una ruta existente |
--rewrite | Reescribe todos los archivos de rutas |
--new | Crear una nueva ruta |
--id= | ID de la ruta a procesar |
--parentId= | ID del padre (opcional) |