Webiny\Component\Security\Role\RoleHierarchy::getAccessibleRoles PHP Method

getAccessibleRoles() public method

Returns an array of roles that are accessible by $roles.
public getAccessibleRoles ( array $roles ) : array
$roles array
return array
    public function getAccessibleRoles(array $roles)
    {
        $accessibleRoles = $roles;
        foreach ($roles as $role) {
            /**
             * @var $role Role
             */
            if (isset($this->map[$role->getRole()])) {
                foreach ($this->map[$role->getRole()] as $r) {
                    $accessibleRoles[] = new Role($r);
                }
            }
        }
        return $accessibleRoles;
    }

Usage Example

示例#1
0
 public function testGetAccessibleRoles()
 {
     $roleHierarchy = new RoleHierarchy(['ROLE_USER' => 'ROLE_EDITOR', 'ROLE_ADMIN' => 'ROLE_USER', 'ROLE_MOCK' => 'ROLE_ADMIN']);
     $roles = [new Role('ROLE_EDITOR')];
     $this->assertCount(1, $roleHierarchy->getAccessibleRoles($roles));
     $roles = [new Role('ROLE_USER')];
     $this->assertCount(2, $roleHierarchy->getAccessibleRoles($roles));
     $roles = [new Role('ROLE_ADMIN')];
     $this->assertCount(3, $roleHierarchy->getAccessibleRoles($roles));
     $roles = [new Role('ROLE_MOCK')];
     $this->assertCount(4, $roleHierarchy->getAccessibleRoles($roles));
 }
All Usage Examples Of Webiny\Component\Security\Role\RoleHierarchy::getAccessibleRoles