RegistrationService
in package
implements
IRegistrationService
Member registration service.
Handles user registration, validation, and email verification.
Table of Contents
Interfaces
- IRegistrationService
- Registration service interface
Properties
- $_emailVerifier : EmailVerifier
- $_emitter : Emitter|null
- $_passwordHasher : PasswordHasher
- $_settings : SettingManager
- $_userRepository : IUserRepository
Methods
- __construct() : mixed
- Constructor
- isRegistrationEnabled() : bool
- Check if registration is enabled
- register() : User
- Register a new user
- registerWithDto() : User
- Register a new user using a RegisterUser DTO
- validateRegistration() : void
- Validate registration data
- validateUserBusinessRules() : void
- Validate user business rules (uniqueness checks)
Properties
$_emailVerifier
private
EmailVerifier
$_emailVerifier
$_emitter
private
Emitter|null
$_emitter
$_passwordHasher
private
PasswordHasher
$_passwordHasher
$_settings
private
SettingManager
$_settings
$_userRepository
private
IUserRepository
$_userRepository
Methods
__construct()
Constructor
public
__construct(IUserRepository $userRepository, PasswordHasher $passwordHasher, EmailVerifier $emailVerifier, SettingManager $settings[, Emitter|null $emitter = null ]) : mixed
Parameters
- $userRepository : IUserRepository
-
User repository
- $passwordHasher : PasswordHasher
-
Password hasher
- $emailVerifier : EmailVerifier
-
Email verification service
- $settings : SettingManager
-
Settings manager
- $emitter : Emitter|null = null
-
Event emitter (optional)
isRegistrationEnabled()
Check if registration is enabled
public
isRegistrationEnabled() : bool
Return values
bool —True if registration is enabled, false otherwise
register()
Register a new user
public
register(string $username, string $email, string $password, string $passwordConfirmation) : User
Parameters
- $username : string
-
Username
- $email : string
-
Email address
- $password : string
-
Password
- $passwordConfirmation : string
-
Password confirmation
Tags
Return values
User —Created user
registerWithDto()
Register a new user using a RegisterUser DTO
public
registerWithDto(Dto $dto) : User
Parameters
- $dto : Dto
-
RegisterUser DTO with validated data
Tags
Return values
User —Created user
validateRegistration()
Validate registration data
private
validateRegistration(string $username, string $email, string $password, string $passwordConfirmation) : void
Parameters
- $username : string
-
Username
- $email : string
-
Email address
- $password : string
-
Password
- $passwordConfirmation : string
-
Password confirmation
Tags
validateUserBusinessRules()
Validate user business rules (uniqueness checks)
private
validateUserBusinessRules(string $username, string $email) : void
Parameters
- $username : string
-
Username to validate
- $email : string
-
Email to validate