Nutzerobjekte

Eine Instanz der Klasse User repräsentiert einen Nutzer. User-Instanzen sind einmalig und vergleichbar. Wenn zwei Instanzen gleich sind, stehen sie für denselben Nutzer.

Die Anwendung kann auf die User-Instanz für den aktuellen Nutzer durch Aufrufen der Funktion UserService::getCurrentUser() zugreifen.

use google\appengine\api\users\UserService;
$user = UserService::getCurrentUser();

if (isset($user)) {
    return sprintf('Welcome, %s! (<a href="%s">sign out</a>)',
        $user->getNickname(),
        UserService::createLogoutUrl('/'));
} else {
    return sprintf('<a href="%s">Sign in or register</a>',
        UserService::createLoginUrl('/'));
}

Sie können die Funktion UserService::getCurrentUser() unabhängig davon verwenden, welche Authentifizierungsoption von der Anwendung verwendet wird.

User-Instanzen können auch aus E-Mail-Adressen erstellt werden:

$user = new User('Albert.Johnson@example.com');

Wenn User::__construct() mit einer E-Mail-Adresse aufgerufen wird, die keinem gültigen Google-Konto entspricht, wird das Objekt zwar erstellt, entspricht jedoch keinem tatsächlichen Google-Konto. Dies ist selbst dann der Fall, wenn jemand nach dem Speichern des Objekts ein Google-Konto mit der betreffenden E-Mail-Adresse erstellt. Ein User-Wert mit einer E-Mail-Adresse, die zum Zeitpunkt der Erstellung kein Google-Konto repräsentiert, entspricht niemals einem User-Wert, der einen realen Nutzer repräsentiert.

Das User-Objekt für einen gültigen Nutzer kann einen eindeutigen ID-Wert für den Nutzer bereitstellen, der auch dann gleich bleibt, wenn der Nutzer seine E-Mail-Adresse ändert. Die Methode getUserId() gibt diese ID, einen string-Wert, zurück.

Das User-Objekt weist unabhängig von der Authentifizierungsmethode, die Ihre Anwendung verwendet, immer dasselbe Format auf.