Module M2105 - RT web dyna - TD/P 3
Démarrage des serveurs :
- Démarrer Apache
- Démarrer Mysql
- Notions abordées
Mysql/phpmyadmin
Connexion à une base de données en php
Extraction de données et affichage dans une page Web
Mise à jour de données (Ajout/modification/suppression
Création de classes techniques
-- Base de données
Modèle physique
Le modèle physique de la base de données est le suivant :
Règle de gestion
-- Création de la base de données
-- Exercices de base
-- Connexion
Créer une page de test réalisant la connexion à la base de données, et affichant après exécution l'état de la connexion (Échec ou réussite)
-- Affichage de données
Créer une page de test permettant d'afficher la liste des projets.
-- Ajout de données
Créer une page de test permettant de saisir un nouveau projet dans un formulaire, puis de sauvegarder ce projet dans la base de données après soumission du formulaire.
-- Suppression de données
Créer une page de test permettant de supprimer un projet dans la base de données, l'id du projet étant passé dans l'url.
-- Manipulations de données avec séparation des couches
-- Contraintes à respecter
Il s'agit maintenant de faire la même chose sur les utilisateurs que sur les projets, mais en respectant certaines contraintes, de façon à produire du code plus facilement maintenable :
Utiliser la classe
DataBase pour l'accès à la base de données :
database.php
Créer les classes métier dans le dossier classes
Les opérations entre le modèle Objet et la base de données doivent obligatoirement être implémentées dans la classe DbGateway (à créer), via des méthodes statiques
Le code permettant de générer l'affichage d'objet doit être implémenté dans la classe
GUI (à créer), via des méthodes statiques
-- Liste des Utilisateurs
Créer la classe métier Utilisateur, en faisant correspondre les membres de la classe aux champs de la table.
<?php
class Utilisateur {
private $id;
private $nom;
private $prenom;
private $age;
private $adulte;
private $dateInscription;
private $idCategorie;
public function getId() {
return $this->id;
}
public function setId($id) {
$this->id = $id;
return $this;
}
public function getNom() {
return $this->nom;
}
public function setNom($nom) {
$this->nom = $nom;
return $this;
}
public function getPrenom() {
return $this->prenom;
}
public function setPrenom($prenom) {
$this->prenom = $prenom;
return $this;
}
public function getAge() {
return $this->age;
}
public function setAge($age) {
$this->age = $age;
return $this;
}
public function getAdulte() {
return $this->adulte;
}
public function setAdulte($adulte) {
$this->adulte = $adulte;
return $this;
}
public function getDateInscription() {
return $this->dateInscription;
}
public function setDateInscription($dateInscription) {
$this->dateInscription = $dateInscription;
return $this;
}
public function getIdCategorie() {
return $this->idCategorie;
}
public function setIdCategorie($idCategorie) {
$this->idCategorie = $idCategorie;
return $this;
}
}
Créer la méthode statique getUtilisateurs(Database $db) dans la classe DbGateway, retournant un tableau d'instances de la classe Utilisateur correspondant aux enregistrements de la table
Créer la page listUtilisateurs.php utilisant la méthode getUtilisateurs et affichant la liste des utilisateurs.
-- Liste et suppression
Créer la méthode statique deleteUtilisateur(Database $db,$id) dans la classe DbGateway, supprimant l'utilisateur de clé primaire $id
Créer une page utilisant cette méthode pour supprimer l'utilisateur dont l'id est passé dans la requête (GET), et affichant le résultat de la suppression
Ajouter un lien (image) pour la suppression dans la liste
-- Ajout
Créer la méthode statique addUtilisateur(Database $db,$user) dans la classe DbGateway, ajoutant l'utilisateur $user
Créer le formulaire de saisie d'un utilisateur
Créer une page d'ajout d'utilisateur traitant la soumission du formulaire et réalisant l'ajout (à partir de la méthode addUtilisateur)
-- Modification
Créer la méthode statique updateUtilisateur(Database $db,$user) dans la classe DbGateway, modifiant l'utilisateur $user
Créer le formulaire affichant les informations de l'utilisateur dont l'id est passé dans la requête, par clic sur le bouton Modifier de la liste des utilisateurs
Créer une page de modification d'utilisateur traitant la soumission du formulaire et réalisant la modification (à partir de la méthode updateUtilisateur)
-- Chargement des objets associés
Modifier la liste pour qu'elle affiche le libellé de la catégorie de l'utilisateur, et le nombre de projets