summaryrefslogtreecommitdiff
path: root/src/Database.php
blob: 3fff863772c8b7075e61e37f5666514318866b1c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php

namespace App;

use PDO;
use PDOStatement;

class Database
{
  use Singleton;

  private \PDO $connection;

  public function __construct()
  {
    #$driver = $_ENV['DB_DRIVER'] ?? 'pgsql';
    $host = $_ENV['DB_HOST'] ?? 'localhost';
    $port = $_ENV['DB_PORT'] ?? 5432;
    $dbname = $_ENV['DB_NAME'];
    $user = $_ENV['DB_USER'];
    $password = $_ENV['DB_PASSWORD'];

    $this->connection = new \PDO("pgsql:host=$host;port=$port;dbname=$dbname", $user, $password);
  }

  /**
   * @param array<mixed> $parameters
   */
  public function query(string $query, array $parameters = []): \PDOStatement|false
  {
    $statement = $this->connection->prepare($query);
    $statement->execute($parameters);

    return $statement;
  }
}