Objetos de usuario

Una instancia de la clase User representa a un usuario. Las instancias User son únicas y comparables. Si dos instancias son iguales, representarán al mismo usuario.

La aplicación puede acceder a la instancia de User del usuario actual llamando 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() independientemente de la opción de autenticación que use tu aplicación.

Una instancia User también se puede crear a partir de 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 que no se corresponde con una cuenta de Google válida, se creará el objeto, pero no se corresponderá con una cuenta de Google real. Esto sucederá aunque alguien cree una cuenta de Google con la dirección de correo electrónico proporcionada después de almacenar el objeto. Un valor User con una dirección de correo electrónico que no represente una cuenta de Google en el momento de su creación nunca se corresponderá con un valor User que represente a un usuario real.

Los objetos User de un usuario válido pueden proporcionar un valor de ID único para el usuario que sigue siendo el mismo incluso si el usuario cambia su dirección de correo electrónico. El método getUserId() devuelve este ID, un valor string.

El objeto User tiene el mismo formato, independientemente del método de autenticación que utilice tu aplicación.