function User::addRole

Same name and namespace in other branches
  1. 8.9.x core/modules/user/src/Entity/User.php \Drupal\user\Entity\User::addRole()
  2. 10 core/modules/user/src/Entity/User.php \Drupal\user\Entity\User::addRole()
  3. 11.x core/modules/user/src/Entity/User.php \Drupal\user\Entity\User::addRole()

Overrides UserInterface::addRole

File

core/modules/user/src/Entity/User.php, line 189

Class

User
Defines the user entity class.

Namespace

Drupal\user\Entity

Code

public function addRole($rid) {
    if (in_array($rid, [
        RoleInterface::AUTHENTICATED_ID,
        RoleInterface::ANONYMOUS_ID,
    ])) {
        throw new \InvalidArgumentException('Anonymous or authenticated role ID must not be assigned manually.');
    }
    $roles = $this->getRoles(TRUE);
    $roles[] = $rid;
    $this->set('roles', array_unique($roles));
}

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