Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Oceńcie czy kod jest ok
marekc12
post
Post #1





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 1.08.2008

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


  1. <?php
  2. class bazaDanych
  3.    {
  4.        private $serwer, $nazwa, $uzytkownik, $haslo, $idPolaczenia, $wynikZapytania;
  5.        
  6.        function __construct( $serwer, $nazwa, $uzytkownik, $haslo )
  7.        {
  8.            $this->serwer = $serwer;
  9.            $this->nazwa = $nazwa;
  10.            $this->uzytkownik = $uzytkownik;
  11.            $this->haslo = $haslo;
  12.            
  13.            $this->idPolaczenia = mysql_connect( $this->serwer, $this->uzytkownik, $this->haslo );
  14.            if( !$this->idPolaczenia )
  15.                $this->blad();
  16.  
  17.            $dbSelected = mysql_select_db( $this->nazwa, $this->idPolaczenia );
  18.            if( !$dbSelected )
  19.                $this->blad();
  20.        }
  21.  
  22.        function __destruct() {
  23.            mysql_close( $this->idPolaczenia );
  24.        }
  25.        
  26.        function modyfikujBaze( $trescZapytania )
  27.        {
  28.            $this->wynikZapytania = mysql_query( $trescZapytania, $this->idPolaczenia )
  29.            or $this->blad( $trescZapytania );
  30.        }
  31.        
  32.        function czytajBaze( $trescZapytania )
  33.        {
  34.            $this->modyfikujBaze( $trescZapytania );
  35.            
  36.            while ($row = mysql_fetch_array( $this->wynikZapytania ))
  37.                $table[] = $row;
  38.            
  39.            return $table;
  40.        }
  41.  
  42.        private function blad( $trescZapytania ) {
  43.            die( mysql_errno( $this->idPolaczenia ) . ': ' . mysql_error( $this->idPolaczenia ) );
  44.        }
  45.    }
  46.  
  47.    class uzytkownik
  48.    {
  49.        private $bazaDanych, $id, $uprawnienia, $login, $haslo, $imie;
  50.        
  51.        function __construct( $bazaDanych, $id, $uprawnienia, $login, $haslo, $imie )
  52.        {
  53.            $this->bazaDanych = $bazaDanych;
  54.            $this->id = $id;
  55.            $this->uprawnienia = $uprawnienia;
  56.            $this->login = $login;
  57.            $this->haslo = $haslo;
  58.            $this->imie = $imie;
  59.        }
  60.        
  61.        function dodaj() {
  62.            $this->bazaDanych -> modyfikujBaze( "INSERT INTO users (id, rights, login, pass, name) VALUES ('', '$this->uprawnienia', '$this->login', '$this->haslo', '$this->imie')\" );
  63.        }
  64.        
  65.        function usun() {
  66.            $this->bazaDanych -> modyfikujBaze( "DELETE FROM users WHERE id=$this->id&#092;" );
  67.        }
  68.  
  69.        function edytuj() {
  70.            $this->bazaDanych -> modyfikujBaze( "UPDATE users SET rights='$this->uprawnienia', login='$this->login', pass='$this->haslo', login='$name->imie' WHERE id=$this->id\" );
  71.        }
  72.        
  73.        function wczytajPozycje() {
  74.            return $this->bazaDanych -> czytajBaze("SELECT * FROM users WHERE id=$this->id&#092;" );
  75.        }
  76.    }
  77. ?>

  1. <?php
  2. $mySql = new bazaDanych( 'localhost', 'lala', 'asdas', 'asdkl' );
  3. $osoba = new uzytkownik( $mySql, null, 1, 'login123', 'mojehaslo', 'marek' );
  4. $osoba -> dodaj();
  5. ?>


Czy ten kod jest dobry? Uczę się obiektowości i zastanawiam się czy dobrze to napisałem. Baze danych zrobiłem jedną klasą, użytkownika drugą, to chyba jest dobrze. Tylko nie wiem czy dobrze to rozwiązałem, że do klasy użytkownik przekazuję obiekt bazy danych. Proszę, napiszcie mi co myślicie o tym kodzie, czy mogę pisać dalej, czy może to jest w ogóle bez sensu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . Nie chodzi mi o idealny sposób na zapis tego kodu(każdy z Was pisze troszeczkę inaczej), tylko o to czy mogę to rozwiązać tak jak to zrobiłem, czy mój sposób nie kłóci się z zasadami programowania obektowego.

pozdrawiam!

Ten post edytował erix 12.06.2009, 14:13:14
Powód edycji: [erix] przeniosłem
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Spawnm
post
Post #2





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




zły dział...

klasa bazaDanych jest bez sensu , na siłe dałeś mysqla w klase i koniec ...
napisz singletona czy coś... bo obecna klasa to zwykły mysql tylko wolniejszy i ma zmienione nazwy.

uzytkownik

zbyt wiele wymagasz danych do constructa , klasa zbyt wymusza dane i wiele nie daje ...
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: 14.10.2025 - 23:07