
Tworzę sobie klasę do zarządzania użytkownikiem, czyli dodanie, kasowanie, wyświetlenia loginu i póki co hasła, chciałem Was jako bardziej doświadczonych speców, zapytać czy wszystko jest dobrze w kodzie. Proszę również o ocenę podziału, zarządzania użytkownikiem na 2 klasy, z których każda robi co innego.
UserManager.php
<?php class UserManager{ //Database connection public function __construct() { try { $this->db = new PDO('mysql: host=localhost; dbname=test', 'root',''); } catch(PDOException $e) { throw new Exception($e->getMessage()); } } //Create new user public function create($user, $pass) { $result=$this->db->prepare("INSERT INTO users VALUES('',:user,:pass)"); $result->bindParam(':user',$user, PDO::PARAM_STR); $result->bindParam(':pass',$pass, PDO::PARAM_STR); if(!$result->execute()){ throw new Exception('Konto nie zostało utworzone!'); } } //Delete user public function delete($id) { $result=$this->db->prepare("DELETE FROM users WHERE id=:id LIMIT 1"); $result->bindParam(':id',$id, PDO::PARAM_INT); if(!$result->execute()){ throw new Exception("Wystąpił bląd podczas kasowania użytkownika!"); } } } ?>
User.php
<?php class User{ //Database connection public function __construct() { try { $this->db = new PDO('mysql: host=localhost; dbname=test', 'root',''); } catch(PDOException $e) { throw new Exception($e->getMessage()); } } //Select username public function getUsername($id) { $result=$this->db->prepare("SELECT user FROM users WHERE id=:id limit 1"); $result->bindParam(':id',$id, PDO::PARAM_INT); if(!$result->execute()) { throw new Exception("Wystąpił bląd podczas pobierania użytkownika!"); }else{ $wynik=$result->fetch(PDO::FETCH_OBJ); return $wynik->user; } } //Select user password public function getPassword($id) { $result=$this->db->prepare("SELECT pass FROM users WHERE id=:id limit 1"); $result->bindParam(':id',$id, PDO::PARAM_INT); if(!$result->execute()) { throw new Exception("Wystąpił bląd podczas pobierania użytkownika!"); }else{ $wynik=$result->fetch(PDO::FETCH_OBJ); return $wynik->pass; } } } ?>