This repository has been archived on 2025-01-19. You can view files and clone it, but cannot push or open issues or pull requests.
drupalcampbristol/web/core/modules/user/src/UserDataInterface.php

65 lines
2.2 KiB
PHP
Raw Normal View History

<?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);
}