Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Ocena logowania OOP początkujący
mateuszstr1994
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 31.10.2014

Ostrzeżenie: (0%)
-----


Witam, jestem początkujący w programowaniu obiektowym, wcześniej pisałem w strukturalnym. Chciałbym aby ktoś bardziej profesjonalny ocenił kod logowania w OOP napisany przeze Mnie. Opinie innych są dla mnie bardzo ważna. Nie korzystam z żadnego wzorca projektowego, po prostu chce przepisać kod strukturalny na obiektowy aby lepiej go zrozumieć.

  1.  
  2. <?php
  3. class database{
  4. private $db_name = 'db_name';
  5. private $db_user = 'db_user';
  6. private $db_pass = 'db_pass';
  7. private $db_host = 'db_host';
  8. private $connect;
  9.  
  10. function __construct(){
  11. $this -> connect = new mysqli($this -> db_host,$this -> db_user,$this -> db_pass ,$this -> db_name);
  12. $this -> stan();
  13. $this ->kodowanie_zapytania();
  14. }
  15.  
  16. private function stan(){
  17. if($this -> connect -> connect_errno)
  18. throw new Exception('Połączenie z serwerem bazy danych nie powiodło się');
  19. }
  20.  
  21. private function kodowanie_zapytania(){
  22. $wynik_zapytania=$this -> connect -> query ("SET NAMES 'utf8'");
  23. if(!$wynik_zapytania)
  24. throw new Exception('Ustawienie Kodowanie Zapytanie Nie Udało się');
  25. }
  26.  
  27. public function query($zapytanie){
  28. $zapytanie = $this -> connect -> query ($zapytanie);
  29. if(!$zapytanie)
  30. throw new Exception ('Wykonanie zapytania nie powiodło się');
  31. return $zapytanie;
  32. }
  33.  
  34. }
  35.  
  36.  
  37. class UserAuthorizer {
  38. private $connection;
  39.  
  40. function __construct(){
  41. $this -> connection = new database();
  42. }
  43.  
  44. public function logowanie($login, $password) {
  45. $wynik_zapytania = $this-> connection -> query("SELECT password FROM users where login='".$login."'");
  46.  
  47. if(!$wynik_zapytania->num_rows)
  48. throw new Exception('Podany uzytkownik nie istnieje '.$login);
  49.  
  50. $wiersz = $wynik_zapytania->fetch_assoc();
  51. if(!password_verify ($password,$wiersz['password']))
  52. throw new Exception("Hasła nie sa takie same");
  53. }
  54.  
  55.  
  56. }
  57.  
  58. try{
  59. $egzemplarz = new UserAuthorizer();
  60. $egzemplarz -> logowanie('login','haslo');
  61. }
  62. catch(Exception $e){
  63. echo $komunikat=$e->getMessage();
  64. }
  65. ?>
  66.  
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 28.09.2025 - 21:51