php-rt:tp3-old

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

Le modèle physique de la base de données est le suivant :

  • Utilisateurs et projets :
    • Chaque projet est la propriété d'un utilisateur (Projet belongsTo → Utilisateur)
    • Un utilisateur peut être le propriétaire de plusieurs projets (Utilisateur hasMany → Projets)
  • Utilisateurs et Catégories :
    • Chaque utilisateur appartient à une categorie (Utilisateur belongsTo → Categorie)
    • Dans une catégorie, on peut avoir plusieurs Utilisateurs (Categorie hasMany → Utilisateurs)
  • Utilisateurs et Droits :
    • Chaque Utilisateur dispose de Droits (Utilisateur hasAndBelongsToMany → Droits)
    • Chaque Droit peut-être affecté à plusieurs Utilisateurs
  • Exécuter le script de création de la base de données projets téléchargé sur votre serveur Mysql, à partir de phpmyadmin (Menu Importer)

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)

Créer une page de test permettant d'afficher la liste des projets.

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.

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.

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

  1. 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;
	}
}

  1. 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
  2. Créer la page listUtilisateurs.php utilisant la méthode getUtilisateurs et affichant la liste des utilisateurs.

  1. Créer la méthode statique deleteUtilisateur(Database $db,$id) dans la classe DbGateway, supprimant l'utilisateur de clé primaire $id
  2. 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
  3. Ajouter un lien (image) pour la suppression dans la liste

  1. Créer la méthode statique addUtilisateur(Database $db,$user) dans la classe DbGateway, ajoutant l'utilisateur $user
  2. Créer le formulaire de saisie d'un utilisateur
  3. Créer une page d'ajout d'utilisateur traitant la soumission du formulaire et réalisant l'ajout (à partir de la méthode addUtilisateur)

  1. Créer la méthode statique updateUtilisateur(Database $db,$user) dans la classe DbGateway, modifiant l'utilisateur $user
  2. 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
  3. Créer une page de modification d'utilisateur traitant la soumission du formulaire et réalisant la modification (à partir de la méthode updateUtilisateur)

  1. Modifier la liste pour qu'elle affiche le libellé de la catégorie de l'utilisateur, et le nombre de projets

  • php-rt/tp3-old.txt
  • Dernière modification : il y a 5 ans
  • de 127.0.0.1