コード例 #1
0
 /**
  * Handle new user registration
  * 
  * @param  RegisterNewUser $command
  * @return void
  */
 public function handle(RegisterNewUser $command)
 {
     $username = new AccountDomainModels\Username($command->username);
     $email = new FoundationDomainModels\Email($command->email);
     $description = new FoundationDomainModels\Description($command->description);
     $id = $this->userRepository->nextIdentity();
     $roles = count($command->roles) ? $this->buildRoles($command->roles) : $this->roleRepository->getDefaultRoles();
     $this->ensureUsernameIsUnique($username);
     $this->ensureEmailIsUnique($email);
     $user = new AccountDomainModels\User($id, $username, $email, $description, $roles);
     $this->userRepository->save($user);
     $this->events->fire([new UserWasRegistered($user)]);
 }