/**
  * takes a RegisterCredenmtials object and trys to register
  *
  * @param RegisterCredentials $credentials
  * @throws \common\UsernameTakenException
  */
 public function registerUser(RegisterCredentials $credentials)
 {
     if ($this->DAL->usernameExists($credentials->getUsername())) {
         throw new \common\UsernameTakenException("Username taken");
     }
     $this->saveUser($credentials);
 }
 public function save(RegisterCredentials $rc)
 {
     $password = password_hash($rc->getUserPassword(), PASSWORD_DEFAULT);
     file_put_contents(self::getFileName($rc->getUserName()), serialize($password));
 }