diff options
Diffstat (limited to 'src/Database.php')
| -rw-r--r-- | src/Database.php | 36 | 
1 files changed, 36 insertions, 0 deletions
| diff --git a/src/Database.php b/src/Database.php new file mode 100644 index 0000000..3fff863 --- /dev/null +++ b/src/Database.php @@ -0,0 +1,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; +  } +} | 
