Mini-Projet : Userbase
Étape 0 :
Créez un dossier
mini-projet-userbasedans le dossiercoda-bph-j6Sur votre PhpMyAdmin, créez une base de données, appellée
coda_bph_j6_userbase.Importez le fichier users_mini-projet.sql
Récupérez le zip des fichiers du projet
Étape 1 : Créer la classe User
Créez un dossier models et créez-y un fichier User.php.
Vous allez y définir une classe User.
Votre User a 5 attributs private :
idqui est un int et peut être null, sa valeur par défaut est nullusernamequi est une stringemailqui est une stringpasswordqui est une stringrolequi est une string, sa valeur par défaut est"USER"
Le constructeur de la classe User prend en argument les attributs suivants :
username
email
password
role
Il a des getters et setters pour chacun des attributs.
Étape 2 : Créer la classe UserManager
Créez un dossier managers et créez-y un fichier UserManager.php.
Vous allez y définir une classe UserManager.
Votre UserManager a 2 attributs private :
usersqui est un tableau, sa valeur par défaut est un tableau videdbqui est une instance la classe PDO
Le constructeur de la classe UserManager ne prend pas d'argument mais il initialise son attribut db avec les informations de connexion à votre base de données.
La classe UserManager a un getter et un setter pour l'attribut users.
La classe UserManager a 3 méthodes public :
loadUsersqui ne prend pas d'arguments et ne retourne riensaveUserqui prend unUseren argument et ne retourne riendeleteUserqui prend unUseren argument et ne retourne rien
Pour l'instant, ne codez pas le comportement de ces méthodes.
Étape 3 : Afficher les User
Étape 3.1 : la méthode loadUsers du UserManager
Vous allez maintenant coder la méthode loadUsers de votre UserManager. Celle-ci doit récupérer tous les utilisateur depuis la base de données. Pour chacun des utilisateurs vous allez instancier une instance de classe User que vous hydraterez avec les informations récupérées en base de données. Vous stockerez tous ces User dans un tableau puis vous utiliserez le setter de l'attribut users du UserManager pour remplacer le tableau existant par celui que vous venez de créer.
Étape 3.2 : préparer les données
Dans le fichier logic/display-users.php vous allez instancier une instance de la classe UserManager puis appeler sa méthode loadUsers pour en stocker le résultat dans une variable.
Étape 3.3 : afficher les données
Utilisez les données obtenues grâce aux étapes 4.1 et 4.2 pour dynamiser la table des utilisateurs dans le fichier template/user-list.phtml. N'oubliez pas de dynamiser le lien du bouton de suppression.
Étape 4 : Créer un User
Reproduisez le processus de l'étape 4 mais cette fois vous allez récupérer les données du formulaire pour remplir une instance de classe User et la passer au UserManager qui la sauvegardera en base de données.
N'oubliez pas de rediriger vers index.php une fois que logic/create-user.php aura fini sa création.
Étape 5 : Supprimer un User
Même processus mais pour supprimer un utilisateur.