public function register() { $viewModel = new RegisterInformation(); if (isset($_POST['username'], $_POST['password'])) { try { $user = $_POST['username']; $pass = $_POST['password']; $userModel = new UserBindingModel($user, $pass); if (!$userModel->isValid()) { throw new \Exception("Username and password must be at least 5 symbols long"); } IdentityUser::add($userModel); IdentityUser::save(); $this->initLogin($user, $pass); } catch (\Exception $e) { $viewModel->error = $e->getMessage(); return new View($viewModel); } } return new View(); }
/** * @param UserBindingModel $user * @throws \Exception */ private static function insert(UserBindingModel $user) { $db = Database::getInstance('app'); $query = "INSERT INTO users (username, password) VALUES (?, ?)"; $result = $db->prepare($query); $result->execute([$user->getUsername(), password_hash($user->getPassword(), PASSWORD_DEFAULT)]); }