2017-09-20 1 views
0

Ich benutze FOS Rest Bundle und ich möchte zeigen, welche Benutzer online auf der Website sind. Ich weiß nicht (ich konnte keine Informationen darüber finden), wenn es eine Möglichkeit gibt, die Datenbank abzufragen und herauszufinden, ob ein Benutzer gerade online ist oder nicht.FOSUserBundle: Wie man weiß, welche Benutzer online sind

Gibt es eine Möglichkeit, dieses oder ein anderes Bündel zu kennen, das diese Informationen bereitstellen könnte?

Vielen Dank im Voraus

+0

Das ist keine Frage von PHP oder symfony oder fosuerbundle: Sie sollten eine Client-seitige Lösung wie - aber es ist weder sehr effektiv noch performant - eine AJAX-Anfrage jede Minute mit Benutzer-ID senden: wenn keine Anrufe Ihren Server erreicht haben kann ziemlich sicher sein, dass Benutzer nicht mehr verbunden ist. Natürlich ist das für mich keine Lösung, du könntest auch den Web-Socket benutzen und so weiter, ich möchte deinen Standpunkt nur auf einen anderen Blickwinkel richten;) – DonCallisto

Antwort

1

ein „lastActivity“ (datetime) Attribut in Ihrer Benutzerklasse hinzufügen und ein Ereignis für die Aktualisierung des Datum dieses Feldes verwenden, jedes Mal wenn der Benutzer auf der Website eine Aktion tun.

Danach, nur alle Online-Benutzer in den letzten x Minuten mit einer einfachen Doktrin Abfrage auf diesem Feld.

+0

yep, das habe ich mit einem Listener gemacht. Funktioniert gut genug, danke! – petekaner

Verwandte Themen