使用者物件

User 類別的執行個體代表的是使用者。User 執行個體均不重複且可互相比較。如果兩個執行個體相同,則這兩個執行個體代表的是相同的使用者。

應用程式可以呼叫 UserService::getCurrentUser() 函式,藉此存取當前使用者的 User 例項。

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('/'));
}

無論應用程式採用何種驗證選項,您都可以使用 UserService::getCurrentUser() 函式。

另外可以從電子郵件地址建構 User 執行個體:

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

如果您是使用未對應至有效 Google 帳戶的電子郵件地址來呼叫 User::__construct(),儘管系統還是會建立物件,但該物件無法對應至確切的 Google 帳戶。即使在物件儲存後,使用者以指定的電子郵件地址建立了 Google 帳戶,這個物件依舊無法對應實際帳戶。建立 User 值時,如果這個值的電子郵件地址不代表「Google 帳戶」,則該值將永遠無法與代表實際使用者的 User 值配對。

有效使用者的 User 物件可以為使用者提供專屬的識別碼值,即便使用者變更電子郵件地址,識別碼仍會維持不變。getUserId() 方法會傳回這個 ID,也就是 string 值。

無論應用程式採用何種驗證方式,User 物件的格式均會相同。