Objetos do usuário

Uma instância da classe Usuário representa um usuário. As instâncias de usuário são exclusivas e comparáveis. Se duas instâncias são iguais, elas representam o mesmo usuário.

O aplicativo pode acessar a instância do usuário 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('/'));
}

É possível usar a função UserService::getCurrentUser() independentemente da opção de autenticação usada pelo aplicativo.

Uma instância de User também pode ser criada com base em um endereço de e-mail:

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

Se o User::__construct() for chamado com um endereço de e-mail que não corresponde a uma Conta do Google válida, o objeto será criado, mas não corresponderá a uma Conta do Google real. Este será o caso mesmo se alguém criar uma conta do Google com o determinado endereço de e-mail depois que o objeto for armazenado. Um valor Usuário com um endereço de e-mail que não representa uma conta do Google no momento da sua criação nunca corresponderá a um valor Usuário que representa um usuário real.

O objeto User de um usuário válido pode fornecer um valor de ID exclusivo que permanece igual mesmo se o endereço de e-mail for alterado. O método getUserId() retorna esse ID, um valor string.

O objeto User tem a mesma forma, independentemente do método de autenticação usado pelo app.