class UserHandler

회원 및 회원과 관련된 데이터(그룹정보, 계정정보, 이메일 정보 등)를 조회하거나 처리할 때에 UserHandler를 사용할 수 있습니다.

UserHandler는 XeUser 파사드를 통해 쉽게 사용할 수 있습니다.

Constants

STATUS_DENIED

차단된 회원의 상태

STATUS_ACTIVATED

활성화된 회원의 상태

Properties

static array $status
protected UserRepositoryInterface $users
protected UserAccountRepositoryInterface $accounts
protected UserGroupRepositoryInterface $groups
protected UserEmailRepositoryInterface $emails
private PendingEmailRepositoryInterface $pendingEmails
protected Hasher $hasher
protected Container $container
protected array $settingsSections
private Factory $validator
private bool $useEmailConfirm
private UserImageHandler $imageHandler

Methods

__construct(UserRepositoryInterface $users, UserAccountRepositoryInterface $accounts, UserGroupRepositoryInterface $groups, UserEmailRepositoryInterface $mails, PendingEmailRepositoryInterface $pendingEmails, UserImageHandler $imageHandler, Hasher $hasher, Factory $validator, Container $container, boolean $useEmailConfirm)

constructor.

users()

User 회원 저장소를 반환한다.

accounts()

UserAccount 회원계정 저장소를 반환한다.

groups()

UserGroup 그룹 저장소를 반환한다.

emails()

회원 이메일 저장소를 반환한다.

pendingEmails()

회원 등록대기 이메일 저장소를 반환한다.

create(array $data, null|Fluent $token = null)

주어진 정보로 신규회원을 등록한다. 회원정보에 대한 유효성검사도 병행하며, 회원관련 정보(그룹, 이메일, 등록대기 이메일, 계정)도 동시에 추가한다.

update(UserInterface $user, array $userData)

회원정보를 업데이트 한다.

void
leave(string|string[] $userIds)

회원탈퇴 처리를 한다. 회원관련 정보(그룹, 이메일, 등록대기 이메일, 계정)도 동시에 삭제한다.

bool
validateForCreate(array $data, null|Fluent $token = null)

신규회원의 정보를 유효성 검사한다.

bool
validateDisplayName(string $name)

표시이름(displayName)에 대한 유효성 검사를 한다. 표시이름이 형식검사와 중복검사를 병행한다.

void
validateEmail(string $address)

validateEmail

bool
validatePassword(string $password)

비밀번호에 대한 유효성 검사를 한다.

bool
validateForUpdate(UserInterface $user, array $data)

회원의 정보를 업데이트할 때 필요한 유효성 검사를 한다.

createGroup(array $data)

새로운 그룹을 추가한다.

updateGroup(GroupInterface $group, array $data = array())

그룹을 수정한다

bool
deleteGroup(GroupInterface $group)

그룹을 삭제한다

createEmail(UserInterface $user, array $data, bool $confirmed = true)

새로운 이메일을 생성한다

updateEmail(EmailInterface $email, array $data = array())

이메일을 수정한다

bool
deleteEmail(EmailInterface $email)

이메일을 삭제한다

createAccount(UserInterface $user, array $data)

새로운 계정을 추가한다.

updateAccount(AccountInterface $account, array $data = array())

계정을 수정한다

void
deleteAccount(string $account)

계정을 삭제한다

bool
usingEmailConfirm()

이메일 인증의 사용 여부를 반환한다.

array
getSettingsSections()

개인 회원정보 설정 페이지의 섹션 목록을 반환한다.

array
getRegisterGuards()

회원가입 인증도구 목록을 반환한다.

mixed
getRegisterForms(Fluent $token)

회원가입시 회원가입 정보 입력 페이지에서 사용자에게 출력할 입력폼 목록을 반환한다.

mixed
__call(string $method, array $parameters)

__call

Details

at line 134
__construct(UserRepositoryInterface $users, UserAccountRepositoryInterface $accounts, UserGroupRepositoryInterface $groups, UserEmailRepositoryInterface $mails, PendingEmailRepositoryInterface $pendingEmails, UserImageHandler $imageHandler, Hasher $hasher, Factory $validator, Container $container, boolean $useEmailConfirm)

constructor.

Parameters

UserRepositoryInterface $users User 회원 저장소
UserAccountRepositoryInterface $accounts UserAccount 회원계정 저장소
UserGroupRepositoryInterface $groups UserGroup 그룹 저장소
UserEmailRepositoryInterface $mails 회원 이메일 저장소
PendingEmailRepositoryInterface $pendingEmails 회원 등록대기 이메일 저장소
UserImageHandler $imageHandler image handler
Hasher $hasher 해시코드 생성기, 비밀번호 해싱을 위해 사용됨
Factory $validator 유효성 검사기. 비밀번호 및 표시이름(dispalyName)의 유효성 검사를 위해 사용됨
Container $container Xpressengine 레지스터
boolean $useEmailConfirm 이메일 인증의 사용여부

at line 163
UserRepositoryInterface users()

User 회원 저장소를 반환한다.

at line 173
UserAccountRepositoryInterface accounts()

UserAccount 회원계정 저장소를 반환한다.

at line 183
UserGroupRepositoryInterface groups()

UserGroup 그룹 저장소를 반환한다.

at line 193
UserEmailRepositoryInterface emails()

회원 이메일 저장소를 반환한다.

at line 203
PendingEmailRepositoryInterface pendingEmails()

회원 등록대기 이메일 저장소를 반환한다.

at line 216
UserInterface create(array $data, null|Fluent $token = null)

주어진 정보로 신규회원을 등록한다. 회원정보에 대한 유효성검사도 병행하며, 회원관련 정보(그룹, 이메일, 등록대기 이메일, 계정)도 동시에 추가한다.

Parameters

array $data 신규회원 정보
null|Fluent $token register-token

Return Value

UserInterface 신규 등록된 회원정보

at line 281
UserInterface update(UserInterface $user, array $userData)

회원정보를 업데이트 한다.

필드: email, displayName, password, status, introduction, profileImgFile, groupId

Parameters

UserInterface $user user
array $userData user data

Return Value

UserInterface

at line 331
void leave(string|string[] $userIds)

회원탈퇴 처리를 한다. 회원관련 정보(그룹, 이메일, 등록대기 이메일, 계정)도 동시에 삭제한다.

Parameters

string|string[] $userIds 탈퇴할 회원의 회원아이디 목록

Return Value

void

at line 366
bool validateForCreate(array $data, null|Fluent $token = null)

신규회원의 정보를 유효성 검사한다.

Parameters

array $data 회원의 정보
null|Fluent $token register-token

Return Value

bool 유효성검사 결과, 통과할 경우 true, 실패할 경우 false

at line 407
bool validateDisplayName(string $name)

표시이름(displayName)에 대한 유효성 검사를 한다. 표시이름이 형식검사와 중복검사를 병행한다.

Parameters

string $name 유효성 검사를 할 표시이름

Return Value

bool 유효성검사 결과, 통과할 경우 true, 실패할 경우 false

at line 437
void validateEmail(string $address)

validateEmail

Parameters

string $address email address

Return Value

void

at line 451
bool validatePassword(string $password)

비밀번호에 대한 유효성 검사를 한다.

Parameters

string $password 유효성 검사를 할 비밀번호

Return Value

bool 유효성검사 결과, 통과할 경우 true, 실패할 경우 false

at line 479
bool validateForUpdate(UserInterface $user, array $data)

회원의 정보를 업데이트할 때 필요한 유효성 검사를 한다.

Parameters

UserInterface $user user
array $data data

Return Value

bool 유효성검사 결과, 통과할 경우 true, 실패할 경우 false

at line 501
GroupInterface createGroup(array $data)

새로운 그룹을 추가한다.

Parameters

array $data data

Return Value

GroupInterface

at line 515
GroupInterface updateGroup(GroupInterface $group, array $data = array())

그룹을 수정한다

Parameters

GroupInterface $group group
array $data data

Return Value

GroupInterface

at line 528
bool deleteGroup(GroupInterface $group)

그룹을 삭제한다

Parameters

GroupInterface $group group

Return Value

bool

at line 542
EmailInterface createEmail(UserInterface $user, array $data, bool $confirmed = true)

새로운 이메일을 생성한다

Parameters

UserInterface $user user
array $data data
bool $confirmed confirmed

Return Value

EmailInterface

at line 560
EmailInterface updateEmail(EmailInterface $email, array $data = array())

이메일을 수정한다

Parameters

EmailInterface $email email
array $data data

Return Value

EmailInterface

at line 577
bool deleteEmail(EmailInterface $email)

이메일을 삭제한다

Parameters

EmailInterface $email email

Return Value

bool

at line 594
AccountInterface createAccount(UserInterface $user, array $data)

새로운 계정을 추가한다.

Parameters

UserInterface $user user
array $data data

Return Value

AccountInterface

at line 607
AccountInterface updateAccount(AccountInterface $account, array $data = array())

계정을 수정한다

Parameters

AccountInterface $account account
array $data data

Return Value

AccountInterface

at line 620
void deleteAccount(string $account)

계정을 삭제한다

Parameters

string $account account

Return Value

void

at line 630
bool usingEmailConfirm()

이메일 인증의 사용 여부를 반환한다.

Return Value

bool 이메일 인증 사용 여부

at line 644
array getSettingsSections()

개인 회원정보 설정 페이지의 섹션 목록을 반환한다.

개인 회원정보 설정 페이지는 여러개의 섹션(메뉴)로 구성된다. 기본적으로 Xpressengien은 '회원 기본정보 설정' 섹션이 가지고 있고, 다른 서드파티에서 자유롭게 섹션을 추가할 수 있다. 예) 소셜로그인 플러그인의 '외부 로그인 설정' 섹션 이 메소드는 이렇게 등록된 섹션 목록을 반환한다.

Return Value

array 등록된 회원정보 설정 페이지 섹션 목록

at line 655
array getRegisterGuards()

회원가입 인증도구 목록을 반환한다.

Return Value

array

at line 667
mixed getRegisterForms(Fluent $token)

회원가입시 회원가입 정보 입력 페이지에서 사용자에게 출력할 입력폼 목록을 반환한다.

Parameters

Fluent $token register-token

Return Value

mixed

at line 680
mixed __call(string $method, array $parameters)

__call

Parameters

string $method method name
array $parameters parameters

Return Value

mixed