TinyAuth\Auth\AuthUserTrait::hasRoles PHP Метод

hasRoles() публичный Метод

You can either require one of the roles (default), or you can require all roles to match.
public hasRoles ( mixed $expectedRoles, boolean $oneRoleIsEnough = true, mixed | null $providedRoles = null ) : boolean
$expectedRoles mixed
$oneRoleIsEnough boolean (if all $roles have to match instead of just one)
$providedRoles mixed | null
Результат boolean Success
    public function hasRoles($expectedRoles, $oneRoleIsEnough = true, $providedRoles = null)
    {
        if ($providedRoles !== null) {
            $roles = $providedRoles;
        } else {
            $roles = $this->roles();
        }
        $expectedRoles = (array) $expectedRoles;
        if (!$expectedRoles) {
            return false;
        }
        $count = 0;
        foreach ($expectedRoles as $expectedRole) {
            if ($this->hasRole($expectedRole, $roles)) {
                if ($oneRoleIsEnough) {
                    return true;
                }
                $count++;
            } else {
                if (!$oneRoleIsEnough) {
                    return false;
                }
            }
        }
        if ($count === count($expectedRoles)) {
            return true;
        }
        return false;
    }