/** * Set password * * @param string $password * @return Account * @throws ValidationException */ public function setPassword($password) { if (!isset($password)) { throw new ValidationException('密码不能为空', 'password'); } $this->password = Password::buildPassword($password); return $this; }
/** * @param $id * @param $oldPassword * @param $newPassword * @throws \Application\Entity\Exception\ValidationException */ public function changePassword($id, $oldPassword, $newPassword) { /** * @var $result \Application\Entity\Account */ $result = $this->getRepository()->findOneBy(array('password' => Password::BuildPassword($oldPassword), 'id' => $id)); if ($result === null) { throw new ValidationException('原密码错误', 'password'); } else { $result->setPassword($newPassword); $this->objectManager->flush($result); } }