Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. UserInterface.php

interface UserInterface

Provides an interface defining a user entity.

Hierarchy

  • interface \Drupal\Core\Entity\ContentEntityInterface extends \Drupal\Core\Entity\Traversable \Drupal\Core\Entity\FieldableEntityInterface \Drupal\Core\Entity\TranslatableRevisionableInterface \Drupal\Core\Entity\SynchronizableInterface; interface \Drupal\Core\Entity\EntityChangedInterface extends \Drupal\Core\Entity\EntityInterface; interface \Drupal\Core\Session\AccountInterface
    • interface \Drupal\user\UserInterface extends \Drupal\Core\Entity\ContentEntityInterface \Drupal\Core\Entity\EntityChangedInterface \Drupal\Core\Session\AccountInterface

Expanded class hierarchy of UserInterface

All classes that implement UserInterface

Related topics

User accounts, permissions, and roles
API for user accounts, access checking, roles, and permissions.
29 files declare their use of UserInterface
CommentHooks.php in core/modules/comment/src/Hook/CommentHooks.php
CommentManager.php in core/modules/comment/src/CommentManager.php
ContactController.php in core/modules/contact/src/Controller/ContactController.php
ContactPageAccess.php in core/modules/contact/src/Access/ContactPageAccess.php
ContentTranslationMetadataWrapper.php in core/modules/content_translation/src/ContentTranslationMetadataWrapper.php

... See full list

File

core/modules/user/src/UserInterface.php, line 14

Namespace

Drupal\user
View source
interface UserInterface extends ContentEntityInterface, EntityChangedInterface, AccountInterface {
    
    /**
     * Maximum length of username text field.
     *
     * Keep this under 191 characters so we can use a unique constraint in MySQL.
     */
    const USERNAME_MAX_LENGTH = 60;
    
    /**
     * Only administrators can create user accounts.
     */
    const REGISTER_ADMINISTRATORS_ONLY = 'admin_only';
    
    /**
     * Visitors can create their own accounts.
     */
    const REGISTER_VISITORS = 'visitors';
    
    /**
     * Visitors can create accounts that only become active with admin approval.
     */
    const REGISTER_VISITORS_ADMINISTRATIVE_APPROVAL = 'visitors_admin_approval';
    
    /**
     * New users will be set to the default time zone at registration.
     */
    const TIMEZONE_DEFAULT = 0;
    
    /**
     * New users will get an empty time zone at registration.
     */
    const TIMEZONE_EMPTY = 1;
    
    /**
     * New users will select their own timezone at registration.
     */
    const TIMEZONE_SELECT = 2;
    
    /**
     * Whether a user has a certain role.
     *
     * @param string $rid
     *   The role ID to check.
     *
     * @return bool
     *   Returns TRUE if the user has the role, otherwise FALSE.
     *
     * @todo in Drupal 11, move method to Drupal\Core\Session\AccountInterface.
     * @see https://www.drupal.org/node/3228209
     */
    public function hasRole($rid);
    
    /**
     * Add a role to a user.
     *
     * @param string $rid
     *   The role ID to add.
     *
     * @return $this
     */
    public function addRole($rid);
    
    /**
     * Remove a role from a user.
     *
     * @param string $rid
     *   The role ID to remove.
     *
     * @return $this
     */
    public function removeRole($rid);
    
    /**
     * Sets the username of this account.
     *
     * @param string $username
     *   The new user name.
     *
     * @return $this
     *   The called user entity.
     */
    public function setUsername($username);
    
    /**
     * Returns the hashed password.
     *
     * @return string|null
     *   The hashed password, or NULL if a password is not set.
     */
    public function getPassword();
    
    /**
     * Sets the user password.
     *
     * @param string $password
     *   The new un-hashed password.
     *
     * @return $this
     *   The called user entity.
     */
    public function setPassword($password);
    
    /**
     * Sets the email address of the user.
     *
     * @param string $mail
     *   The new email address of the user.
     *
     * @return $this
     *   The called user entity.
     */
    public function setEmail($mail);
    
    /**
     * Returns the creation time of the user as a UNIX timestamp.
     *
     * @return int
     *   Timestamp of the creation date.
     */
    public function getCreatedTime();
    
    /**
     * Sets the UNIX timestamp when the user last accessed the site..
     *
     * @param int $timestamp
     *   Timestamp of the last access.
     *
     * @return $this
     *   The called user entity.
     */
    public function setLastAccessTime($timestamp);
    
    /**
     * Returns the UNIX timestamp when the user last logged in.
     *
     * @return int
     *   Timestamp of the last login time.
     */
    public function getLastLoginTime();
    
    /**
     * Sets the UNIX timestamp when the user last logged in.
     *
     * @param int $timestamp
     *   Timestamp of the last login time.
     *
     * @return $this
     *   The called user entity.
     */
    public function setLastLoginTime($timestamp);
    
    /**
     * Returns TRUE if the user is active.
     *
     * @return bool
     *   TRUE if the user is active, false otherwise.
     */
    public function isActive();
    
    /**
     * Returns TRUE if the user is blocked.
     *
     * @return bool
     *   TRUE if the user is blocked, false otherwise.
     */
    public function isBlocked();
    
    /**
     * Activates the user.
     *
     * @return $this
     *   The called user entity.
     */
    public function activate();
    
    /**
     * Blocks the user.
     *
     * @return $this
     *   The called user entity.
     */
    public function block();
    
    /**
     * Returns the email that was used when the user was registered.
     *
     * @return string
     *   Initial email address of the user.
     */
    public function getInitialEmail();
    
    /**
     * Sets the existing plain text password.
     *
     * Required for validation when changing the password, name or email fields.
     *
     * @param string $password
     *   The existing plain text password of the user.
     *
     * @return $this
     */
    public function setExistingPassword($password);
    
    /**
     * Checks the existing password if set.
     *
     * @param \Drupal\user\UserInterface $account_unchanged
     *   The unchanged user entity to compare against.
     *
     * @return bool
     *   TRUE if the correct existing password was provided.
     *
     * @see UserInterface::setExistingPassword()
     */
    public function checkExistingPassword(UserInterface $account_unchanged);

}

Members

Title Sort descending Modifiers Object type Summary Overrides
AccessibleInterface::access public function Checks data value access. 9
AccountInterface::ANONYMOUS_ROLE constant Role ID for anonymous users.
AccountInterface::AUTHENTICATED_ROLE constant Role ID for authenticated users.
AccountInterface::getAccountName public function Returns the unaltered login name of this account. 3
AccountInterface::getDisplayName public function Returns the display name of this account. 3
AccountInterface::getEmail public function Returns the email address of this account. 3
AccountInterface::getLastAccessedTime public function The timestamp when the account last accessed the site. 3
AccountInterface::getPreferredAdminLangcode public function Returns the preferred administrative language code of the account. 3
AccountInterface::getPreferredLangcode public function Returns the preferred language code of the account. 3
AccountInterface::getRoles public function Returns a list of roles. 3
AccountInterface::getTimeZone public function Returns the timezone of this account. 3
AccountInterface::hasPermission public function Checks whether a user has a certain permission. 3
AccountInterface::isAnonymous public function Returns TRUE if the account is anonymous. 3
AccountInterface::isAuthenticated public function Returns TRUE if the account is authenticated. 3
CacheableDependencyInterface::getCacheContexts public function The cache contexts associated with this object. 30
CacheableDependencyInterface::getCacheMaxAge public function The maximum age for which this object may be cached. 30
CacheableDependencyInterface::getCacheTags public function The cache tags associated with this object. 23
EntityChangedInterface::getChangedTime public function Gets the timestamp of the last entity change for the current translation.
EntityChangedInterface::getChangedTimeAcrossTranslations public function Gets the timestamp of the last entity change across all translations.
EntityChangedInterface::setChangedTime public function Sets the timestamp of the last entity change for the current translation.
EntityInterface::bundle public function Gets the bundle of the entity. 2
EntityInterface::create public static function Constructs a new entity object, without permanently saving it. 2
EntityInterface::createDuplicate public function Creates a duplicate of the entity. 2
EntityInterface::delete public function Deletes an entity permanently. 2
EntityInterface::enforceIsNew public function Enforces an entity to be new. 2
EntityInterface::getCacheTagsToInvalidate public function Returns the cache tags that should be used to invalidate caches. 2
EntityInterface::getConfigDependencyKey public function Gets the key that is used to store configuration dependencies. 2
EntityInterface::getConfigDependencyName public function Gets the configuration dependency name. 2
EntityInterface::getConfigTarget public function Gets the configuration target identifier for the entity. 2
EntityInterface::getEntityType public function Gets the entity type definition. 2
EntityInterface::getEntityTypeId public function Gets the ID of the type of the entity. 2
EntityInterface::getOriginalId public function Gets the original ID. 2
EntityInterface::getTypedData public function Gets a typed data object for this entity object. 2
EntityInterface::hasLinkTemplate public function Indicates if a link template exists for a given key. 2
EntityInterface::id public function Gets the identifier. 2
EntityInterface::isNew public function Determines whether the entity is new. 2
EntityInterface::label public function Gets the label of the entity. 2
EntityInterface::language public function Gets the language of the entity. 2
EntityInterface::load public static function Loads an entity. 2
EntityInterface::loadMultiple public static function Loads one or more entities. 2
EntityInterface::postCreate public function Acts on a created entity before hooks are invoked. 2
EntityInterface::postDelete public static function Acts on deleted entities before the delete hook is invoked. 2
EntityInterface::postLoad public static function Acts on loaded entities. 2
EntityInterface::postSave public function Acts on a saved entity before the insert or update hook is invoked. 2
EntityInterface::preCreate public static function Changes the values of an entity before it is created. 2
EntityInterface::preDelete public static function Acts on entities before they are deleted and before hooks are invoked. 2
EntityInterface::preSave public function Acts on an entity before the presave hook is invoked. 2
EntityInterface::referencedEntities public function Gets a list of entities referenced by this entity. 2
EntityInterface::save public function Saves an entity permanently. 2
EntityInterface::setOriginalId public function Sets the original ID. 2
EntityInterface::toArray public function Gets an array of all property values. 3
EntityInterface::toLink public function Generates the HTML for a link to this entity. 2
EntityInterface::toUrl public function Gets the URL object for the entity. 2
EntityInterface::uriRelationships public function Gets a list of URI relationships supported by this entity. 2
EntityInterface::uuid public function Gets the entity UUID (Universally Unique Identifier). 2
RefinableCacheableDependencyInterface::addCacheableDependency public function Adds a dependency on an object: merges its cacheability metadata. 1
RefinableCacheableDependencyInterface::addCacheContexts public function Adds cache contexts. 1
RefinableCacheableDependencyInterface::addCacheTags public function Adds cache tags. 1
RefinableCacheableDependencyInterface::mergeCacheMaxAge public function Merges the maximum age (in seconds) with the existing maximum age. 1
UserInterface::activate public function Activates the user. 1
UserInterface::addRole public function Add a role to a user. 1
UserInterface::block public function Blocks the user. 1
UserInterface::checkExistingPassword public function Checks the existing password if set. 1
UserInterface::getCreatedTime public function Returns the creation time of the user as a UNIX timestamp. 1
UserInterface::getInitialEmail public function Returns the email that was used when the user was registered. 1
UserInterface::getLastLoginTime public function Returns the UNIX timestamp when the user last logged in. 1
UserInterface::getPassword public function Returns the hashed password. 1
UserInterface::hasRole public function Whether a user has a certain role. 1
UserInterface::isActive public function Returns TRUE if the user is active. 1
UserInterface::isBlocked public function Returns TRUE if the user is blocked. 1
UserInterface::REGISTER_ADMINISTRATORS_ONLY constant Only administrators can create user accounts.
UserInterface::REGISTER_VISITORS constant Visitors can create their own accounts.
UserInterface::REGISTER_VISITORS_ADMINISTRATIVE_APPROVAL constant Visitors can create accounts that only become active with admin approval.
UserInterface::removeRole public function Remove a role from a user. 1
UserInterface::setEmail public function Sets the email address of the user. 1
UserInterface::setExistingPassword public function Sets the existing plain text password. 1
UserInterface::setLastAccessTime public function Sets the UNIX timestamp when the user last accessed the site.. 1
UserInterface::setLastLoginTime public function Sets the UNIX timestamp when the user last logged in. 1
UserInterface::setPassword public function Sets the user password. 1
UserInterface::setUsername public function Sets the username of this account. 1
UserInterface::TIMEZONE_DEFAULT constant New users will be set to the default time zone at registration.
UserInterface::TIMEZONE_EMPTY constant New users will get an empty time zone at registration.
UserInterface::TIMEZONE_SELECT constant New users will select their own timezone at registration.
UserInterface::USERNAME_MAX_LENGTH constant Maximum length of username text field.
RSS feed
Powered by Drupal