Objetos de usuario

Una instancia de la clase usuario representa a un usuario. Las instancias de usuarios son únicas y comparables. Si dos instancias son iguales, representan al mismo usuario.

La aplicación puede acceder a la instancia de usuario para el usuario actual si llama a la función 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('/'));
}

Puedes usar la función UserService::getCurrentUser() con cualquiera de las opciones de autenticación que tu aplicación use.

Una instancia de usuario también se puede construir desde una dirección de correo electrónico:

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

Si se llama a User::__construct() con una dirección de correo electrónico que no corresponde a una Cuenta de Google válida, el objeto se creará pero no corresponderá a una Cuenta de Google verdadera. Eso ocurrirá incluso si alguien crea una Cuenta de Google con esa dirección de correo electrónico luego de que se haya almacenado el objeto. Un valor de usuario con una dirección de correo electrónico que no representa a una Cuenta de Google en el momento en que se crea nunca coincidirá con un valor de usuario que representa a un usuario verdadero.

El objeto de usuario correspondiente a un usuario válido puede proveerle un valor de ID único invariable, incluso si cambia su dirección de correo electrónico. El método getUserId() muestra este ID, un valor de string.

El objeto de usuario tiene el mismo formato sin importar el método de autenticación que use tu aplicación.