Skip to content

Latest commit

 

History

History
51 lines (33 loc) · 2.28 KB

TP8.md

File metadata and controls

51 lines (33 loc) · 2.28 KB

TP8 - Eloquent ORM

Objectif

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.

Exercice 1 : Un utilisateur qui manie le verbe

Pour cet exercice, référeez-vous aux documentation sur la migration et sur Eloquent ORM.

  1. 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
  2. Modifier le fichier de migration database/migrations/2019_..._create_user_eloquents_table.php pour qu'elle possède un champs user (clé primaire) et un champ password. La table doit s'appeller UserEloquent.

  3. Procéder à la migration avec la commande :

    $ php artisan migrate

    et vérifier que la table UserEloquent créée est identique à la table Users.

  4. 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

Exercice 2 : De User à UserEloquent

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 table Users afin d'avoir déjà des utilisateurs inscrits.

  1. Commencer par effectuer le remplacement dans la méthode authenticate. Il est nécessaire de réintroduire la méthode password_verify.

  2. Poursuivez avec addUser et changePassword.

    • 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.
  3. Enfin terminer avec deleteUser : cette méthode ne doit plus contenir que 3 instructions.

  4. Finalement, supprimer le fichier MyUser.php et toutes les instructions qui y font référence.