Überprüfen Sie die Dokumentation auf AccountInterface:
Definiert ein Objekt mit einer Benutzer-ID und Rollen sowie Sitzungsdaten. Die Schnittstelle wird sowohl von der globalen Sitzung als auch von der Benutzerentität implementiert
Es befindet sich Sessionaus einem bestimmten Grund im Namespace - es repräsentiert etwas, das Sitzungsdaten enthalten kann.
Die von ContentEntityInterfaceund EntityChangedInterfaceerweiterten Schnittstellen zeigen an UserInterface, dass es sich um ein anderes Konzept handelt:
Inhaltsentitäten verwenden Felder für alle Entitätseigenschaften und sind übersetzbar und überarbeitbar, während Übersetzungen und Überarbeitungen pro Entitätstyp aktiviert werden können.
Definiert eine Schnittstelle für die Zeitstempelverfolgung von Entitätsänderungen.
Diese Daten können nützlich sein, um den Cache genauer zu ungültig zu machen (insbesondere auf der Clientseite) und gleichzeitig die Bearbeitung zu sperren.
A steht UserInterfacefür ein vollständiges Drupal-Benutzerkonto, das Revisionen, Felder, Übersetzungen usw. enthalten kann.
Ich kann Ihnen nicht sagen, welche für Ihren Anwendungsfall besser geeignet ist, aber ich empfehle Ihnen, darüber nachzudenken, welche dieser Schnittstellen für den von Ihnen geschriebenen Code am besten geeignet ist.
Mein Instinkt sagt mir, dass Sie AccountInterfacefür etwas verwenden würden, das minimal "angemeldet" ist (z. B. angemeldeter Benutzer, eine Liste von Benutzern online, jemand, der über SSO angemeldet ist) und UserInterfacefür etwas anderes (z. B. Benutzerprofile, zugeordnete Autoren, lang) -gelebte Daten, die meisten Dinge, die wir in Drupal tun).