2 votes

Comment obtenir l'utilisateur authentifié dans un écouteur d'événement - Laravel

J'essaie d'identifier le moyen approprié pour obtenir les informations de l'utilisateur authentifié dans l'écouteur d'événements.

Je peux toujours utiliser \Auth:user() ce qui semble fonctionner mais je ne pense pas que cela fonctionnera si je mets l'écouteur en file d'attente.

Dois-je ajouter l'utilisateur authentifié à la classe d'événement comme propriété pour chaque événement, ou y a-t-il un autre moyen de le faire ?

5voto

devk Points 5775

Passez l'utilisateur à travers l'événement . Vous devriez avoir accès à la Auth lorsque l'événement est déclenché.

Événement :

class SomeEvent
{
    // Public so that it will be accessible from the listener
    public $user;

    public function __construct(User $user)
    {
        $this->user = $user;
    }
}

Auditeur :

class SomeListener
{
    public function handle(SomeEvent $event)
    {
        // Get the public property `$user` from the event
        $authUser = $event->user;
    }
}

Déclencheur :

event(new SomeEvent(auth()->user()));

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X