<?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;
}



