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 utente 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. anche se qualcuno crea un Account Google con l'indirizzo email specificato dopo che l'oggetto è stato archiviato. 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 per l'utente un valore ID univoco che rimane invariato anche se l'utente cambia il proprio indirizzo email. Il metodo getUserId() restituisce questo ID, ovvero un valore string.

L'oggetto User ha lo stesso formato, indipendentemente dal metodo di autenticazione utilizzato dall'app.