summaryrefslogtreecommitdiff
path: root/php/ConnectionDatabase.php
blob: b26d0bda2f1a58bd1cfb1fa0cfe1da76c257a032 (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
<?php
// php/ConnectionDatabase.php

class Connection extends PDO
{
    // paramètres du constructeur de PDO, avec sqlite seul le premier est nécessaire
    public static $dsn = ''; // Data Source Name = 1er paramètre
    public static $user = '';
    public static $password = '';
    public static $options = '';
    private static $Instance;
    
    public function __construct()
    {
        try
        {
            parent::__construct(self::$dsn); // renseigne la variable $dsn de la classe PDO
            $this->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // $this pour la méthode du parent PDO
        }
        catch(PDOException $e)
        {
            die('Erreur : '.$e->getMessage());
        }
    }
    
    // créer son objet avec: $bdd = Connection::getInstance();
    public static function getInstance(): self
    {
        if(self::$Instance === null)
        {
            self::$Instance = new self();
        }
        return self::$Instance;
    }
}