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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
|
<?php
class Membre
{
//Attributs
private $email; //Clé primaire dans la base de données
private $dateNaissance;
private $dateInscription;
private $mdp;
private $nom;
private $prenom;
private $tel_principale;
private $tel_secondaire;
private $adresse1;
private $adresse2;
private $pays; //Dans la base de données, cela est une clé etrangere. J'ai alors
//Décidé que cet attributs ferait référence à un objet.
private $cp;
private $ville;
private $compteValide; //Booléen
//Méthodes d'acces
public function getEmail()
{
return $this->email;
}
public function getMdp()
{
return $this->mdp;
}
public function getNom()
{
return $this->nom;
}
public function getPrenom()
{
return $this->prenom;
}
public function getTelPrincipal()
{
return $this->tel_principale;
}
public function getTelSecondaire()
{
return $this->tel_secondaire;
}
public function getAdresse1()
{
return $this->adresse1;
}
public function getAdresse2()
{
return $this->adresse2;
}
public function getPays()
{
return $this->pays; //Retourne un objet de type "Pays"
}
public function getCp()
{
return $this->cp;
}
public function getVille()
{
return $this->ville;
}
public function getValiditéCompte()
{
return $this->compteValide;
}
//...
//Etant donnée que les données seront récupéré a partir de la base de données,
//Je décide d'instancier l'objet avec un constructeur qui prendrait un seul parametre : La clé primaire dans la
//Base de données -> L'email
public function __construct($unEmail)
{
$unEmail = addslashes($unEmail); //Securisation de la chaine (provisoire pour l'instant.) une classe de sécurisation
//Sera crée
$infos = SPDO::getInstance()->query('SELECT * FROM membres WHERE email = \''.$unEmail.'\';');
if ($infos->rowCount() == 0)
{
return false; //Est-ce une bonne chose de faire ca ?
}
else
{
$ligne = $infos->fetch(PDO::FETCH_ASSOC);
$this->email = $ligne['EMAIL'];
$this->mdp = $ligne['MDP'];
$this->nom = $ligne['NOM'];
$this->prénom = $ligne['PRENOM'];
$this->tel_principale = $ligne['TEL1'];
$this->tel_secondaire = $ligne['TEL2'];
$this->adresse1 = $ligne['ADRESSE1'];
$this->adresse2 = $ligne['ADRESSE2'];
$this->pays = new Pays($ligne['PAYS']); //Est-ce aussi une bonne solution
$this->cp = $ligne['CP'];
$this->ville = $ligne['VILLE'];
$this->compteValide = $ligne['COMPTE_VALIDE'];
return true;
}
}
//Voici une méthode statique premettant d'ajouter un membre dans la base de données
//Je n'ecris pas le corps de la méthode, simplement pouvez vous me dire si cette facon de programmer est cohérente
public static function create($unEmail,$unMdp,$unNom,$unPrenom,$unTelPrincipale,$unTelSecondaire,$uneAdresse,$uneAdresse2,$unPays,$uneVille,$unCp,$unCompteValide)
{
}
}
?> |
Partager