<?php
declare(strict_types=1);

require_once __DIR__ . '/../config/config.php';

/**
 * Retorna una conexion mysqli reutilizable (singleton por request).
 */
function db(): mysqli
{
    static $conn = null;

    if ($conn instanceof mysqli) {
        return $conn;
    }

    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

    try {
        $conn = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME, DB_PORT);
        $conn->set_charset('utf8mb4');
    } catch (mysqli_sql_exception $e) {
        error_log('Error de conexion a BD: ' . $e->getMessage());
        http_response_code(500);
        die('No fue posible conectar a la base de datos. Revise config/config.php.');
    }

    return $conn;
}
