interface AccountInterface (View source)

Defines an account interface which represents the current user.

Defines an object that has a user id, roles and can have session data. The interface is implemented both by the global session and the user entity.

Constants

ANONYMOUS_ROLE

Role ID for anonymous users.

AUTHENTICATED_ROLE

Role ID for authenticated users.

Methods

int
id()

Returns the user ID or 0 for anonymous.

array
getRoles(bool $exclude_locked_roles = FALSE)

Returns a list of roles.

bool
hasPermission(string $permission)

Checks whether a user has a certain permission.

bool
isAuthenticated()

Returns TRUE if the account is authenticated.

bool
isAnonymous()

Returns TRUE if the account is anonymous.

string
getPreferredLangcode(bool $fallback_to_default = TRUE)

Returns the preferred language code of the account.

string
getPreferredAdminLangcode(bool $fallback_to_default = TRUE)

Returns the preferred administrative language code of the account.

string
getAccountName()

Returns the unaltered login name of this account.

getDisplayName()

Returns the display name of this account.

string|null
getEmail()

Returns the email address of this account.

string
getTimeZone()

Returns the timezone of this account.

int
getLastAccessedTime()

The timestamp when the account last accessed the site.

Details

int id()

Returns the user ID or 0 for anonymous.

Return Value

int

The user ID.

array getRoles(bool $exclude_locked_roles = FALSE)

Returns a list of roles.

Parameters

bool $exclude_locked_roles

(optional) If TRUE, locked roles (anonymous/authenticated) are not returned.

Return Value

array

List of role IDs.

bool hasPermission(string $permission)

Checks whether a user has a certain permission.

Parameters

string $permission

The permission string to check.

Return Value

bool

TRUE if the user has the permission, FALSE otherwise.

bool isAuthenticated()

Returns TRUE if the account is authenticated.

Return Value

bool

TRUE if the account is authenticated.

bool isAnonymous()

Returns TRUE if the account is anonymous.

Return Value

bool

TRUE if the account is anonymous.

string getPreferredLangcode(bool $fallback_to_default = TRUE)

Returns the preferred language code of the account.

Parameters

bool $fallback_to_default

(optional) Whether the return value will fall back to the site default language if the user has no language preference.

Return Value

string

Returned language code depends upon following:

  • The user preferred language code is returned if set in the account.
  • If the user has no preferred language and $fallback_to_default is TRUE then the site default language code is returned.
  • If the user has no preferred language and $fallback_to_default is FALSE then empty string is returned.

string getPreferredAdminLangcode(bool $fallback_to_default = TRUE)

Returns the preferred administrative language code of the account.

Defines which language is used on administrative pages.

Parameters

bool $fallback_to_default

(optional) Whether the return value will fall back to the site default language if the user has no administration language preference.

Return Value

string

The language code that is preferred by the account for administration pages. If the preferred language is not set or is a language not configured anymore on the site, the site default is returned or an empty string is returned (if $fallback_to_default is FALSE).

string getAccountName()

Returns the unaltered login name of this account.

Return Value

string

An unsanitized plain-text string with the name of this account that is used to log in. Only display this name to admins and to the user who owns this account, and only in the context of the name used to login. For any other display purposes, use \Drupal\Core\Session\AccountInterface::getDisplayName() instead.

string|MarkupInterface getDisplayName()

Returns the display name of this account.

By default, the passed-in object's 'name' property is used if it exists, or else, the site-defined value for the 'anonymous' variable. However, a module may override this by implementing hook_user_format_name_alter(&$name, $account).

Return Value

string|MarkupInterface

Either a string that will be auto-escaped on output or a MarkupInterface object that is already HTML escaped. Either is safe to be printed within HTML fragments.

See also

hook_user_format_name_alter()

string|null getEmail()

Returns the email address of this account.

Return Value

string|null

The email address, or NULL if the account is anonymous or the user does not have an email address.

string getTimeZone()

Returns the timezone of this account.

Return Value

string

Name of the timezone.

int getLastAccessedTime()

The timestamp when the account last accessed the site.

A value of 0 means the user has never accessed the site.

Return Value

int

Timestamp of the last access.