Objets User

Une instance de la classe User représente un utilisateur. Ces instances sont uniques et comparables. Si deux instances sont égales, elles représentent le même utilisateur.

L'application peut accéder à l'instance "User" de l'utilisateur actuel en appelant la fonction 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('/'));
}

Vous pouvez utiliser la fonction UserService::getCurrentUser() quelle que soit l'option d'authentification employée par votre application.

Une instance User peut également être créée à partir d'une adresse e-mail :

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

Si la fonction User::__construct() est appelée avec une adresse e-mail qui ne correspond pas à un compte Google valide, l'objet sera créé, mais il ne correspondra pas à un compte Google réel. Cela se produit même si un utilisateur crée un compte Google avec l'adresse e-mail fournie après le stockage de l'objet. Une valeur User associée à une adresse e-mail ne représentant pas un compte Google au moment de sa création ne correspondra jamais à une valeur User représentant un véritable utilisateur.

L'objet User d'un utilisateur valide peut fournir une valeur d'identifiant unique à l'utilisateur, qui reste identique même si l'adresse e-mail change. La méthode getUserId() renvoie cet identifiant, à savoir une valeur string.

Quelle que soit la méthode d'authentification utilisée par votre application, l'objet User présente toujours le même format.