Oggetti utente

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

L'applicazione può accedere all'istanza User 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 dalla tua 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 la memorizzazione dell'oggetto. Un valore User con un indirizzo email che non rappresenta un Account Google al momento della creazione non corrisponderà mai a un valore User che rappresenta un utente reale.

L'oggetto Utente 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 dalla tua app.