<?php
require_once __DIR__ . '/../vendor/autoload.php';

require_once __DIR__ . '/../config/config.php';
require_once __DIR__ . '/../core/Router.php';
require_once __DIR__ . '/../config/database.php';
require_once __DIR__ . '/../routes.php';

// Autocargar controladores
spl_autoload_register(function ($class) {
    $parts = explode('\\', $class);

    if (count($parts) >= 3) {
        $parts[0] = strtolower($parts[0]); // App → app
        $parts[1] = strtolower($parts[1]); // Middlewares → middlewares
    }
    
    $file = __DIR__ . '/../' . implode('/', $parts) . '.php';

    if (!file_exists($file)) {
        die("Error en Autoload: El archivo $file no fue encontrado.");
    }

    require_once $file;
});

$uri = $_SERVER['REQUEST_URI'];
$uri = str_replace('/mesadepartesvirtual/', '', $_SERVER['REQUEST_URI']);
$uri = trim(parse_url($uri, PHP_URL_PATH), '/');

// Despachar la solicitud procesada
if (!isset($router)) {
    die("Error: Router no inicializado");
}
$router->dispatch($uri);