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

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: 3.10.2025 - 05:00