示例#1
0
 /**
  * Registers a user.
  * 
  * @param RegisterUserBinding $user The RegisterUserBinding, containing all the register information.
  */
 public function save(RegisterUserBinding $user)
 {
     if (!Validator::validateRegistrationInformation($user)) {
         return;
     }
     $query = "INSERT INTO users(username, password, email, role_id) VALUES(:username, :password, :email, :role_id)";
     $stmt = $this->db()->prepare($query);
     $stmt->execute([':username' => $user->username, ':password' => Hash::password($user->password), ':email' => $user->email, ':role_id' => UserFactory::DEFAULT_USER_ROLE]);
     $id = $this->db()->lastInsertId();
     $persistedUser = $this->find(['id' => $id]);
     return $persistedUser;
 }