Sistema de Enrutamiento - ManuelJDonoso/Proyecto_daw GitHub Wiki
Sistema de Enrutamiento
Propósito y Alcance
Este documento detalla el sistema de enrutamiento central de Crónicas de Mérida, que gestiona las solicitudes entrantes y las dirige a las vistas apropiadas según los parámetros de la URL.
El sistema de enrutamiento sirve como columna vertebral de la estructura de navegación de la aplicación, determinando qué contenido se muestra a los usuarios.
Esta página se centra específicamente en el mecanismo de enrutamiento de solicitudes.
Para obtener información sobre la estructura de diseño que trabaja con el sistema de enrutamiento, consulta la sección de Diseño y Estilo.
Visión General
La aplicación Crónicas de Mérida implementa un sistema de enrutamiento basado en parámetros, simple pero efectivo, centrado en el archivo index.php.
Este patrón de punto de entrada único enruta todas las solicitudes a través de un archivo central, que luego incluye los archivos de vista apropiados basándose en los parámetros de consulta de la URL.
Detalles de Implementación
Estructura Principal del Enrutador
El sistema de enrutamiento se implementa en index.php mediante una estructura switch-case que evalúa el parámetro de consulta pag.
Cuando se recibe una solicitud, el sistema:
- Procesa la sesión y el estado de autenticación del usuario.
- Carga el encabezado de la página y el menú.
- Verifica el parámetro
pag. - Incluye el archivo de vista correspondiente.
- Carga el pie de página y cierra la página.
Procesamiento del Parámetro de Ruta
El sistema de enrutamiento depende de la presencia del parámetro pag en la cadena de consulta de la URL.
Este parámetro se verifica utilizando el array superglobal $_GET de PHP:
$pagina = isset($_GET['pag']) ? $_GET['pag'] : 'default';
switch ($pagina) {
case 'login':
include 'views/login.php';
break;
// Otros casos...
default:
include 'views/error.php';
break;
}
Este enfoque permite una navegación simple y directa a diferentes secciones de la aplicación cambiando el parámetro de la URL.
Rutas Disponibles
La aplicación proporciona numerosas rutas para acceder a diferentes funcionalidades.
| Categoría | Parámetro de Ruta | Vista Objetivo | Descripción |
|---|---|---|---|
| Autenticación | login |
views/login.php |
Página de inicio de sesión del usuario |
creat_account |
views/creat_account.php |
Registro de cuenta | |
recuperar |
views/recuperar.php |
Recuperación de contraseña | |
cambiar_contrasena |
views/cambiar_contrasena.php |
Cambio de contraseña | |
| Gestión de Usuarios | my_profile |
views/my_profile.php |
Página de perfil del usuario |
assing_role |
views/assing_role.php |
Asignación de roles (solo administrador) | |
delete_user |
views/delete_user.php |
Eliminación de usuario (solo administrador) | |
| Sistema de Eventos | show_events |
views/show_events.php |
Mostrar todos los eventos |
event |
views/event.php |
Detalles de evento individual | |
add_event |
views/add_event.php |
Agregar nuevo evento (moderador/administrador) | |
show_my_events |
views/show_my_events.php |
Mostrar eventos del usuario | |
| Sistema de Foros | forum |
views/forum.php |
Página principal del foro |
tema |
views/tema.php |
Página de tema individual | |
| Gestión de Material | material |
views/material.php |
Listado de materiales |
upload_material |
views/upload_material.php |
Agregar nuevo material | |
loan_material |
views/loan_material.php |
Préstamo de materiales | |
return_material |
views/return_material.php |
Devolución de materiales | |
| Sistema de Ayuda | notificacion |
views/notificacion.php |
Notificaciones de soporte |
| Otros | about |
views/about.php |
Página de información |
Flujo de Enrutamiento con Roles de Usuario
El sistema integra la autenticación con el enrutamiento al verificar el rol del usuario antes de renderizar la página.
Esto permite componentes y permisos condicionales basados en el rol del usuario.
Manejo de Errores
Cuando se proporciona un parámetro de ruta inválido o no reconocido, el sistema muestra una página de error:
default:
include 'views/error.php';
break;
}
Esto asegura que los usuarios reciban retroalimentación apropiada al intentar acceder a páginas inexistentes.
Integración del Diseño de Página
El sistema de enrutamiento trabaja en conjunto con la estructura de diseño de la aplicación.
Cada página renderizada se incrusta dentro de un diseño consistente que incluye:
- Encabezado HTML con referencias CSS (incluido antes del enrutamiento)
- Cabecera con banner
- Menú de navegación
- Área de contenido principal (donde se insertan las vistas enrutadas)
- Botón de ayuda (solo para jugadores registrados)
- Pie de página
Este ajuste coherente del contenido enrutado garantiza una experiencia de usuario uniforme en toda la aplicación.
Resumen
El sistema de enrutamiento de Crónicas de Mérida proporciona un enfoque sencillo para la navegación de la página a través de parámetros de URL. Si bien su implementación es sencilla, organiza eficazmente la funcionalidad de la aplicación en secciones discretas y de fácil acceso, al tiempo que mantiene una interfaz de usuario coherente. La integración con los roles de usuario garantiza que el contenido se restrinja adecuadamente en función de los permisos, lo que mejora la seguridad y la experiencia del usuario.