📅  最后修改于: 2023-12-03 15:30:34.294000             🧑  作者: Mango
Drupal 8 提供了丰富的 API 来获取用户信息。本文将介绍一些常用的方法来获取用户。
对于当前登录的用户,可以使用以下方法来获取其信息:
$user = \Drupal::currentUser();
$uid = $user->id();
$username = $user->getUsername();
$email = $user->getEmail();
其中,$user->id()
返回当前用户的 ID,$user->getUsername()
返回当前用户的用户名,$user->getEmail()
返回当前用户的邮箱地址。
如果需要获取指定用户的信息,可以使用 entity_load
方法:
$user = \Drupal\user\Entity\User::load($uid);
其中,$uid
是指定用户的 ID。
获取用户信息后,可以使用以下方法来获取其相关信息:
$username = $user->getUsername();
$email = $user->getEmail();
$name = $user->getDisplayName();
$created = $user->getCreatedTime();
其中,$user->getUsername()
返回指定用户的用户名,$user->getEmail()
返回指定用户的邮箱地址,$user->getDisplayName()
返回指定用户的显示名称,$user->getCreatedTime()
返回指定用户的创建时间。
如果需要获取用户列表,可以使用 entity_query
方法:
$query = \Drupal::entityQuery('user');
$result = $query->execute();
$users = \Drupal\user\Entity\User::loadMultiple($result);
其中,$query
是查询对象,$result
是执行查询的结果,$users
是查询到的用户对象集合。
可以使用 Drupal\Core\Session\AccountProxyInterface
接口来获取登录用户的权限:
$account = \Drupal::currentUser();
$roles = $account->getRoles();
其中,$roles
是当前用户所具有的角色列表。
本文介绍了 Drupal 8 中获取用户信息的常见方法,包括获取当前用户、指定用户和用户列表,以及获取登录用户的权限。通过这些方法,我们可以轻松地在 Drupal 8 中获取到所需的用户信息。