42 lines
1.1 KiB
PHP
42 lines
1.1 KiB
PHP
<?php
|
|
// Carga conexión a la base de datos y funciones de entorno
|
|
require_once __DIR__ . '/../config/database.php';
|
|
require_once __DIR__ . '/../app/helpers/env.php';
|
|
|
|
loadEnv();
|
|
|
|
// Captura la ruta limpia desde .htaccess
|
|
$url = $_GET['url'] ?? '';
|
|
$segments = explode('/', trim($url, '/'));
|
|
|
|
// Determina controlador y método
|
|
$controllerName = $segments[0] ?: 'home'; // por defecto 'home'
|
|
$methodName = $segments[1] ?? 'index';
|
|
$params = array_slice($segments, 2);
|
|
|
|
// Ruta del archivo controlador
|
|
$controllerFile = __DIR__ . '/../app/controllers/' . $controllerName . '.php';
|
|
|
|
if (file_exists($controllerFile)) {
|
|
require_once $controllerFile;
|
|
|
|
if (function_exists($methodName)) {
|
|
call_user_func_array($methodName, $params);
|
|
} else {
|
|
echo "❌ Método '$methodName' no encontrado en el controlador '$controllerName'.";
|
|
}
|
|
} else {
|
|
echo "❌ Controlador '$controllerName' no encontrado.";
|
|
}
|
|
|
|
|
|
// ejemplo de router dinámico
|
|
if ($controllerName === 'sistemas' && $methodName === 'guardar_usuario') {
|
|
require_once __DIR__ . '/../app/controllers/sistemas.php';
|
|
guardar_usuario();
|
|
exit;
|
|
}
|
|
|
|
|
|
|