You are here

interface UserDataInterface in Drupal 8

Same name and namespace in other branches
  1. 9 core/modules/user/src/UserDataInterface.php \Drupal\user\UserDataInterface

Defines the user data service interface.

Hierarchy

Expanded class hierarchy of UserDataInterface

All classes that implement UserDataInterface

4 files declare their use of UserDataInterface
ContactPageAccess.php in core/modules/contact/src/Access/ContactPageAccess.php
UserController.php in core/modules/user/src/Controller/UserController.php
UserControllerTest.php in core/modules/user/tests/src/Kernel/Controller/UserControllerTest.php
UserData.php in core/modules/user/src/Plugin/views/field/UserData.php

File

core/modules/user/src/UserDataInterface.php, line 8

Namespace

Drupal\user
View source
interface UserDataInterface {

  /**
   * Returns data stored for a user account.
   *
   * @param string $module
   *   The name of the module the data is associated with.
   * @param int $uid
   *   (optional) The user account ID the data is associated with.
   * @param string $name
   *   (optional) The name of the data key.
   *
   * @return mixed|array
   *   The requested user account data, depending on the arguments passed:
   *   - For $module, $name, and $uid, the stored value is returned, or NULL if
   *     no value was found.
   *   - For $module and $uid, an associative array is returned that contains
   *     the stored data name/value pairs.
   *   - For $module and $name, an associative array is returned whose keys are
   *     user IDs and whose values contain the stored values.
   *   - For $module only, an associative array is returned that contains all
   *     existing data for $module in all user accounts, keyed first by user ID
   *     and $name second.
   */
  public function get($module, $uid = NULL, $name = NULL);

  /**
   * Stores data for a user account.
   *
   * @param string $module
   *   The name of the module the data is associated with.
   * @param int $uid
   *   The user account ID the data is associated with.
   * @param string $name
   *   The name of the data key.
   * @param mixed $value
   *   The value to store. Non-scalar values are serialized automatically.
   */
  public function set($module, $uid, $name, $value);

  /**
   * Deletes data stored for a user account.
   *
   * @param string|array $module
   *   (optional) The name of the module the data is associated with. Can also
   *   be an array to delete the data of multiple modules.
   * @param int|array $uid
   *   (optional) The user account ID the data is associated with. If omitted,
   *   all data for $module is deleted. Can also be an array of IDs to delete
   *   the data of multiple user accounts.
   * @param string $name
   *   (optional) The name of the data key. If omitted, all data associated with
   *   $module and $uid is deleted.
   */
  public function delete($module = NULL, $uid = NULL, $name = NULL);

}

Members

Namesort descending Modifiers Type Description Overrides
UserDataInterface::delete public function Deletes data stored for a user account. 1
UserDataInterface::get public function Returns data stored for a user account. 1
UserDataInterface::set public function Stores data for a user account. 1