UserDataInterface.php

Same filename in other branches
  1. 8.9.x core/modules/user/src/UserDataInterface.php
  2. 10 core/modules/user/src/UserDataInterface.php
  3. 11.x core/modules/user/src/UserDataInterface.php

Namespace

Drupal\user

File

core/modules/user/src/UserDataInterface.php

View source
<?php

namespace Drupal\user;


/**
 * Defines the user data service interface.
 */
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);

}

Interfaces

Title Deprecated Summary
UserDataInterface Defines the user data service interface.

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