1
0
Fork 0
Lightning-Tracker/src/Database/DB.php

36 lines
754 B
PHP

<?php
declare(strict_types = 1);
namespace Database;
use PDO;
use PDOException;
final class DB{
private const MYSQL_INIT = <<<SQL
SET time_zone = "+00:00",
sql_mode = "STRICT_ALL_TABLES,NO_ENGINE_SUBSTITUTION"
SQL;
/**
* @return PDO
* @throws PDOException
*/
public static function get(): PDO{
static $db;
if (!isset($db)){
$db = new PDO(DB_DRIVER.':dbname='.DB_NAME.';host='.DB_HOST.';charset=utf8mb4', DB_USER, DB_PASSWORD, [
PDO::MYSQL_ATTR_INIT_COMMAND => self::MYSQL_INIT,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
]);
}
return $db;
}
}
?>