32 lines
733 B
PHP
32 lines
733 B
PHP
<?php
|
|
|
|
namespace src;
|
|
|
|
use PDO;
|
|
|
|
class Database
|
|
{
|
|
|
|
private static ?PDO $instance = null;
|
|
|
|
public static function getInstance(): PDO
|
|
{
|
|
if (self::$instance === null) {
|
|
$dataSourceName = sprintf(
|
|
'mysql:host=%s;dbname=%s',
|
|
getenv('DB_HOST'),
|
|
getenv('DB_NAME')
|
|
);
|
|
self::$instance = new PDO(
|
|
$dataSourceName,
|
|
getenv('DB_USER'),
|
|
getenv('DB_PASSWORD'),
|
|
[
|
|
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
|
|
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
|
|
]
|
|
);
|
|
}
|
|
return self::$instance;
|
|
}
|
|
} |