Files
new.rybstock.ru/app/Core/Database.php
T
2026-06-03 23:12:10 +03:00

37 lines
901 B
PHP

<?php
declare(strict_types=1);
namespace App\Core;
use PDO;
final class Database
{
private static ?PDO $pdo = null;
public static function pdo(): PDO
{
if (self::$pdo !== null) {
return self::$pdo;
}
$host = app_env('DB_HOST', 'localhost');
$port = app_env('DB_PORT', '3306');
$database = app_env('DB_DATABASE', '');
$charset = app_env('DB_CHARSET', 'utf8mb4');
$username = app_env('DB_USERNAME', '');
$password = app_env('DB_PASSWORD', '');
$dsn = "mysql:host={$host};port={$port};dbname={$database};charset={$charset}";
self::$pdo = new PDO($dsn, $username, $password, [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
]);
return self::$pdo;
}
}