Laravel 5

Aide comprehension de l'authentification de laravel

  • Avatar de lavarelkyi
    Membre depuis :
    20/12/2017
    Messages :
    23

    Bonjour tout le monde,
    Alors je debute depuis peu avec le framework laravel et j'ai des petits souci d'incomprehension au niveau de son systeme d'authentification, j'aimerais avoir des explications sur un certain nombres de choses :

    1ere chose : Dans l'authentification de base de laravel pourquoi avoir utilisé un trait (RegistersUsers) pour faire appel à la vue ('auth.register'), alors que l'on pouvais le mettre directement dans le controller ' RegisterController '

    2eme chose : Pourquoi avoir utilisé la methode register() du trait ' RegistersUsers ' pour la validation des elements en base de donnée alors qu'on pouvait utilisé la methode create du controller ' RegisterController '

    3eme chose : Quelqu'un pourrait bien m'expliquer chaque partie du code de la methode register() du trait ' RegisterUsers '

  • Avatar de bestmomo
    Membre depuis :
    07/04/2013
    Messages :
    1949

    Bonjour,

    1 et 2 : L'intérêt du trait est d'avoir un maximum de fonctionnalités dans le framework et donc un minimum dans le contrôleur. En fait on y trouve ce qui risque de varier le plus, c'est à dire les colonnes de la table users (donc validation et création). Quel serait l'intérêt d'avoir plus de choses dans le contrôleur sinon de le charger ?

    3 : la méthode register du trait :
    On commence par la validation (validate) des données du formulaire ($request->all())

    $this->validator($request->all())->validate();

    On déclenche l'événement Illuminate\Auth\Events\Registered :

    event(new Registered($user = $this->create($request->all())));

    On connecte le nouvel utilisateur :

    $this->guard()->login($user);

    On redirige le nouvel utilisateur avec l'url définie dans le contrôleur ($this->redirectPath()) si l'enregistrement a réussi :

    return $this->registered($request, $user)?: redirect($this->redirectPath());
  • Avatar de lavarelkyi
    Membre depuis :
    20/12/2017
    Messages :
    23

    Salut
    Merci pour votre reponse
    -Dans la mesure ou l'on veut se passer du trait comment peut on s'y prendre dans le controler pour gerer cette authentification.

    -Comment utilisé l'element de confirmation ' confirmed ' parce que je n'arrive a l'utilisé correctement sur des input de type password

  • Avatar de bestmomo
    Membre depuis :
    07/04/2013
    Messages :
    1949

    Salut,

    Pour se passer du trait il suffit de surcharger toutes les propriétés et méthodes qu'on a besoin de modifier.

    Pour le "confirmed" il suffit d'ajouter _confirmation au nom du champ à confirmer dans le formulaire. A la validation on prévoit la règle confirmed sur le champ à confirmer.

  • Avatar de lavarelkyi
    Membre depuis :
    20/12/2017
    Messages :
    23

    Salut,

    Merci beauoup pour votre aide et surtout la rapidité à repondre a nos differents questions ...
    Encore merci, que dis je mille fois merci

Vous ne pouvez pas répondre à ce sujet.