| 
<?phpnamespace App;
 
 use PDO;
 use PDOException;
 
 class Database
 {
 private PDO $pdo;
 
 public function __construct(array $config)
 {
 $dsn = sprintf(
 'mysql:host=%s;dbname=%s;charset=%s',
 $config['host'],
 $config['dbname'],
 $config['charset'] ?? 'utf8mb4'
 );
 $this->pdo = new PDO($dsn, $config['user'], $config['pass'], [
 PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
 ]);
 }
 
 public function getPdo(): PDO
 {
 return $this->pdo;
 }
 }
 |