interface UserInterface

Same name and namespace in other branches
  1. 9 core/modules/user/src/UserInterface.php \Drupal\user\UserInterface
  2. 8.9.x core/modules/user/src/UserInterface.php \Drupal\user\UserInterface
  3. 11.x core/modules/user/src/UserInterface.php \Drupal\user\UserInterface

Provides an interface defining a user entity.

Hierarchy

Expanded class hierarchy of UserInterface

All classes that implement UserInterface

Related topics

69 files declare their use of UserInterface
AlertsJsonFeedTest.php in core/modules/announcements_feed/tests/src/FunctionalJavascript/AlertsJsonFeedTest.php
BlockContentRevisionsTest.php in core/modules/block_content/tests/src/Functional/BlockContentRevisionsTest.php
comment.module in core/modules/comment/comment.module
Enables users to comment on published content.
CommentManager.php in core/modules/comment/src/CommentManager.php
ContactController.php in core/modules/contact/src/Controller/ContactController.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(#[\SensitiveParameter] $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(#[\SensitiveParameter] $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
CacheableDependencyInterface::getCacheContexts public function The cache contexts associated with this object. 34
CacheableDependencyInterface::getCacheMaxAge public function The maximum age for which this object may be cached. 34
CacheableDependencyInterface::getCacheTags public function The cache tags associated with this object. 27
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. 3
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.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.