request->getPost(); $user = $this->getLoginUser(); $accountRepo = new AccountRepo(); $account = $accountRepo->findById($user->id); $accountValidator = new AccountValidator(); $accountValidator->checkOriginPassword($account, $post['origin_password']); $newPassword = $accountValidator->checkPassword($post['new_password']); $accountValidator->checkConfirmPassword($post['new_password'], $post['confirm_password']); $salt = PasswordUtil::salt(); $password = PasswordUtil::hash($newPassword, $salt); $account->salt = $salt; $account->password = $password; $account->update(); return $account; } }