Ein Ereignis auszulösen, wenn der Benutzer-logins in Laravel
Ich versuche zu implementieren, die Ereignisse, in denen ich ein Ereignis ausgelöst, wenn der Benutzer sich anmeldet.
Bin ich den folgenden link - http://laravel.com/docs/5.1/events#event-subscribers, aber es gibt kein Ergebnis, wenn ich log-in oder log out.
public function onUserLogin($event) {
$user = new User;
$user->last_login_on = Carbon::now();
$user->save();
}
/**
* Handle user logout events.
*/
public function onUserLogout($event) {
$user = new User;
$user->last_login_on = Carbon::now();
$user->save();
}
- Und dies ist die subscribe
.
public function subscribe($events)
{
$events->listen(
'App\Events\UserLoggedIn',
'App\Listeners\UserEventListener@onUserLogin'
);
$events->listen(
'App\Events\UserLoggedOut',
'App\Listeners\UserEventListener@onUserLogout'
);
}
Obwohl, ich bin nicht bewusst, was soll ich hier App\Events\UserLoggedIn
Wo kann ich Feuer in dieser Veranstaltung?
Und wie implementiere ich diese Funktion mithilfe von Events?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Ereignisse, die Sie hören müssen, sind:
Diese sind die Veranstaltungen, die Laravel feuert automatisch - siehe Beleuchten\Auth\Guard Klasse das ist, was Sie erhalten, wenn Sie verwenden Auth Fassade.
Damit Ihre Zuhörer auf die Arbeit, die Sie tun müssen:
Weitere option ist, um zu definieren, separate handler-Klassen für die beiden Veranstaltungen, z.B.:
und definieren Sie dann den Zuhörern in :
Können Sie auch Laravel ist der Befehl zum erstellen der Handler - siehe https://mattstauffer.co/blog/laravel-5.0-events-and-handlers für mehr details.
Ich weiß, diese Frage ist ziemlich alt, aber die Antwort auf die Letzte Bemerkung im Fall, dass jemand anderes kämpfen mit dem gleichen Problem.
Sie müssen auch Zugriff auf den aktuell angemeldeten Benutzer in Ihrer onUserLogin und onUserLogout Methoden, da das erstellen einer neuen Instanz der user das Modell erstellt einen neuen Benutzer und nicht als Update des aktuell angemeldeten Benutzers.