Paaxio 1.0
Plateforme de streaming musical - SAE IUT Bayonne
Chargement...
Recherche...
Aucune correspondance
newsletter.dao.php
Aller à la documentation de ce fichier.
1<?php
8{
12 private ?PDO $pdo;
13
18 public function __construct(?PDO $pdo = null)
19 {
20 $this->pdo = $pdo;
21 }
22
28 public function existsByEmail(string $email): bool
29 {
30 $sql = "SELECT COUNT(*) FROM newsletter WHERE email = :email";
31 $stmt = $this->pdo->prepare($sql);
32 $stmt->execute([':email' => $email]);
33 return (bool)$stmt->fetchColumn();
34 }
35
36 public function create(Newsletter $newsletter): bool
37 {
38 $sql = "INSERT INTO newsletter (email, dateInscription) VALUES (:email, :dateInscription)";
39 $stmt = $this->pdo->prepare($sql);
40 $dateInscription = $newsletter->getDateInscription()?->format('Y-m-d H:i:s');
41 return $stmt->execute([
42 ':email' => $newsletter->getEmail(),
43 ':dateInscription' => $dateInscription ?? date('Y-m-d H:i:s'),
44 ]);
45 }
46
47 public function hydrate(array $row): Newsletter
48 {
49 $n = new Newsletter();
50 $n->setEmail($row['email'] ?? null);
51 $n->setDateInscription(!empty($row['dateInscription']) ? new DateTime($row['dateInscription']) : null);
52 return $n;
53 }
54}
hydrate(array $row)
__construct(?PDO $pdo=null)
Constructeur de la classe NewsletterDAO.
existsByEmail(string $email)
Vérifie si une adresse email est déjà abonnée à la newsletter.
create(Newsletter $newsletter)
getEmail()
Getter pour l'email de l'abonné
getDateInscription()
Getter pour la date d'inscription.