/** * @param Command|ChangeEmail $command */ public function handle(Command $command) { /** @var User $user */ $user = $this->userRepository->get($command->getUser()); //No-op if email is same as existing if ($user->getEmail() == $command->getEmail()) { return; } $user->changeEmail($command->getEmail()); }
/** * @param Command|RegisterUser $command */ public function handle(Command $command) { $user = call_user_func([$this->userClass, 'register'], $command->getUsername(), $command->getEmail(), $command->getPassword(), $this->encoder); $this->userRepository->add($user); }