interface UserInterface

Same name 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

  • 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\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

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($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
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.