<?php

use Medoo\Medoo;

class Database 
{
    public static $db;
    
    // Магический метод для вызова методов класса Medoo
    public static function __callStatic($name, $arguments) {
        if (!self::$db) {
            self::init();
        }
        
        return call_user_func_array([self::$db, $name], $arguments);
    }
        
    // Инициализация подключения к БД
    public static function init() {
        if (!self::$db) {
            try {
                self::$db = new Medoo([
                    'type' => 'mysql',
                    'host' => DB_HOST,
                    'database' => DB_NAME,
                    'username' => DB_USER,
                    'password' => DB_PASS,
                    'port' => DB_PORT,
                    'charset' => DB_CHARSET,
                    'collation' => 'utf8mb4_unicode_ci',
                    'error' => \PDO::ERRMODE_EXCEPTION
                ]);
            } catch (\PDOException $e) {
                die('Ошибка подключения к БД: ' . $e->getMessage());
                exit;
            }
        }
        return self::$db;
    }
}
