Oggetti utente

Un'istanza della classe User rappresenta un utente. Le istanze utente sono uniche e comparabili. Se due istanze sono uguali, rappresentano lo stesso utente.

L'applicazione può accedere all'istanza utente per l'utente corrente chiamando la funzione UserService::getCurrentUser().

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('/'));
}

Puoi utilizzare la funzione UserService::getCurrentUser() indipendentemente dall'opzione di autenticazione utilizzata dall'app.

Un'istanza User può essere creata anche da un indirizzo email:

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

Se User::__construct() viene chiamato con un indirizzo email che non corrisponde a un Account Google valido, l'oggetto verrà creato, ma non corrisponderà a un Account Google reale. Ciò avverrà anche se qualcuno crea un Account Google con l'indirizzo email specificato dopo l'archiviazione dell'oggetto. Un valore Utente con un indirizzo email che non rappresenta un Account Google al momento della creazione non corrisponderà mai a un valore Utente che rappresenta un utente reale.

L'oggetto User per un utente valido può fornire un valore ID univoco per l'utente che rimane invariato anche se l'utente cambia il proprio indirizzo email. Il metodo getUserId() restituisce questo ID, un valore string.

L'oggetto User ha la stessa forma indipendentemente dal metodo di autenticazione utilizzato dall'app.