Comus Party 1.0.0
Application web de mini-jeux en ligne
Chargement...
Recherche...
Aucune correspondance
Db.php
Aller à la documentation de ce fichier.
1<?php
9
10namespace ComusParty\App;
11
12use Exception;
13use PDO;
14use PDOException;
15
20class Db
21{
26 private static ?Db $instance = null;
27
32 private ?PDO $pdo;
33
37 private function __construct()
38 {
39 try {
40 $this->pdo = new PDO(DB_TYPE . ':host=' . DB_HOST . ';dbname=' . DB_NAME, DB_USER, DB_PASS,
41 array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
42 $this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
43 } catch (PDOException $e) {
44 echo 'Connection failed: ' . $e->getMessage();
45 }
46 }
47
52 public static function getInstance(): Db
53 {
54 if (self::$instance == null) {
55 self::$instance = new Db();
56 }
57 return self::$instance;
58 }
59
64 public function getConnection(): PDO
65 {
66 return $this->pdo;
67 }
68
73 public function __wakeup()
74 {
75 throw new Exception("Cannot unserialize a singleton.");
76 }
77
81 private function __clone()
82 {
83 }
84}
Class Db.
Definition Db.php:21
__wakeup()
Surcharge de la méthode afin d'empêcher la désérialisation de l'instance de la classe.
Definition Db.php:73
getConnection()
Retourne la connexion à la base de données.
Definition Db.php:64
static getInstance()
Retourne l'instance du singleton de la base de données.
Definition Db.php:52
__clone()
Surcharge de la méthode afin d'empêcher la création d'une nouvelle instance de la classe.
Definition Db.php:81
static Db $instance
Definition Db.php:26
const DB_USER
Utilisateur de la base de données.
Definition db.php:40
const DB_HOST
Hôte de la base de données.
Definition db.php:22
const DB_PASS
Mot de passe de la base de données.
Definition db.php:46
const DB_NAME
Nom de la base de données.
Definition db.php:34
const DB_TYPE
Type de base de données.
Definition db.php:16