Dans le TP précédent, nous avons mis en place la partie Contrôleur de notre application Laravel.
Dans ce TP6, l'objectif est d'utiliser les fonctionnalités de l'ORM Eloquent pour gérer les vues sans ses soucier de leur enregistrement en base de données.
Pour cet exercice, référeez-vous aux documentation sur la migration et sur Eloquent ORM.
-
Créer un modèle d'utilisateur
UserEloquent
avec artisan, en demandant la génération du fichier de migration en même temps :$ php artisan make:model UserEloquent -m
-
Modifier le fichier de migration
database/migrations/2019_..._create_user_eloquents_table.php
pour qu'elle possède un champsuser
(clé primaire) et un champpassword
. La table doit s'appellerUserEloquent
. -
Procéder à la migration avec la commande :
$ php artisan migrate
et vérifier que la table
UserEloquent
créée est identique à la tableUsers
. -
Dans
app/UserEloquent.php
, indiquer :- que la table utilisée s'appelle
UserEloquent
- que la clé primaire s'appelle
user
et est une chaîne de caractères - qu'il n'y a pas de
timestamps
dans les attributs
- que la table utilisée s'appelle
Cet exercice a pour objectif de remplacer, dans UserController.php
, l'utilisation du modèle MyUser
par UserEloquent
.
Note : Pendant les tests, il est possible d'indiquer dans
UserEloquent.php
d'utiliser temporairement la tableUsers
afin d'avoir déjà des utilisateurs inscrits.
-
Commencer par effectuer le remplacement dans la méthode
authenticate
. Il est nécessaire de réintroduire la méthodepassword_verify
. -
Poursuivez avec
addUser
etchangePassword
.- Il est nécessaire de réintroduire la méthode
password_hash
. - Traiter l'exception déclenchée lorsqu'il y a violation de clé primaire.
- Il est nécessaire de réintroduire la méthode
-
Enfin terminer avec
deleteUser
: cette méthode ne doit plus contenir que 3 instructions. -
Finalement, supprimer le fichier
MyUser.php
et toutes les instructions qui y font référence.