Objetos do utilizador

Uma instância da classe User representa um utilizador. As instâncias de utilizadores são únicas e comparáveis. Se duas instâncias forem iguais, representam o mesmo utilizador.

A aplicação pode aceder à instância User do utilizador atual chamando a função 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('/'));
}

Pode usar a função UserService::getCurrentUser(), independentemente da opção de autenticação que a sua app usa.

Também é possível construir uma instância de utilizador a partir de um endereço de email:

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

Se a função User::__construct() for chamada com um endereço de email que não corresponda a uma Conta Google válida, o objeto é criado, mas não corresponde a uma Conta Google real. Isto aplica-se mesmo que alguém crie uma Conta Google com o endereço de email fornecido após o armazenamento do objeto. Um valor de utilizador com um endereço de email que não represente uma Conta Google no momento da criação nunca vai corresponder a um valor de utilizador que represente um utilizador real.

O objeto User de um utilizador válido pode fornecer um valor de ID exclusivo para o utilizador que permanece o mesmo, mesmo que o utilizador altere o respetivo endereço de email. O método getUserId() devolve este ID, um valor string.

O objeto User tem o mesmo formato, independentemente do método de autenticação que a sua app usa.