Comus Party 1.0.0
Application web de mini-jeux en ligne
Chargement...
Recherche...
Aucune correspondance
moderator.dao.php
Aller à la documentation de ce fichier.
1<?php
2
11
12namespace ComusParty\Models;
13
14use DateMalformedStringException;
15use DateTime;
16use PDO;
17
23{
28 private ?PDO $pdo;
29
34 public function __construct(?PDO $pdo)
35 {
36 $this->pdo = $pdo;
37 }
38
43 public function getPdo(): ?PDO
44 {
45 return $this->pdo;
46 }
47
52 public function setPdo(?PDO $pdo): void
53 {
54 $this->pdo = $pdo;
55 }
56
63 public function findByUuid(string $uuid): ?Moderator
64 {
65 $stmt = $this->pdo->prepare('SELECT * FROM ' . DB_PREFIX . 'moderator WHERE uuid = :uuid');
66 $stmt->bindParam(':uuid', $uuid);
67 $stmt->execute();
68 $stmt->setFetchMode(PDO::FETCH_ASSOC);
69 $moderatorTab = $stmt->fetch();
70 if ($moderatorTab === false) {
71 return null;
72 }
73 return $this->hydrate($moderatorTab);
74 }
75
82 public function hydrate(array $data): ?Moderator
83 {
84 $moderator = new Moderator();
85 $moderator->setUuid($data['uuid']);
86 $moderator->setUserId($data['user_id']);
87 $moderator->setFirstName($data['first_name']);
88 $moderator->setLastName($data['last_name']);
89 $moderator->setCreatedAt(new DateTime($data['created_at']));
90 $moderator->setUpdatedAt(new DateTime($data['updated_at']));
91 return $moderator;
92 }
93
100 public function findByUserId(int $userId): ?Moderator
101 {
102 $stmt = $this->pdo->prepare('SELECT * FROM ' . DB_PREFIX . 'moderator WHERE user_id = :userId');
103 $stmt->bindParam(':userId', $userId);
104 $stmt->execute();
105 $stmt->setFetchMode(PDO::FETCH_ASSOC);
106 $moderatorTab = $stmt->fetch();
107 if ($moderatorTab === false) {
108 return null;
109 }
110 return $this->hydrate($moderatorTab);
111 }
112
119 public function hydrateMany(array $data): array
120 {
121 $moderators = [];
122 foreach ($data as $moderator) {
123 $moderators[] = $this->hydrate($moderator);
124 }
125 return $moderators;
126 }
127
128}
findByUserId(int $userId)
Retourne un objet Moderator (ou null) à partir de l'ID utilisateur passé en paramètre.
hydrate(array $data)
Hydrate un objet Moderator avec les valeurs du tableau associatif passé en paramètre.
getPdo()
Retourne la connexion à la base de données.
findByUuid(string $uuid)
Retourne un objet Moderator (ou null) à partir de l'UUID passé en paramètre.
setPdo(?PDO $pdo)
Modifie la connexion à la base de données.
__construct(?PDO $pdo)
Le constructeur de la classe ModeratorDAO.
hydrateMany(array $data)
Hydrate un tableau d'objets Moderator avec les valeurs des tableaux associatifs passés en paramètre.
const DB_PREFIX
Préfixe des tables de la base de données.
Definition db.php:52