Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] Klasa obsługująca bazę z PDO
Matado
post 9.04.2009, 22:10:05
Post #1





Grupa: Zarejestrowani
Postów: 67
Pomógł: 0
Dołączył: 9.12.2008

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


Zacząłem pisać swój system newsów w OOP, ale natrafiłem na mały problem. W systemie będą 3 klasy:
1. do obsługi newsów i komentarzy
2. do logowania/wylogowywania i obsługi użytkowników (zmiana hasła i inne pierdoły)
3. do banowania

Jak myślicie, czy jest sens tworzenia tu klasy do łączenia się z bazą danych i później korzystanie z niej w tych klasach, jeśli korzystam z PDO?
Przez taką klasę nie musiałbym pisać co chwilę $pdo= new PDO itd.
Czy najlepiej nie tworzyć takiej klasy i łączyć się z bazą danych w każdej klasie przez zwyczajne PDO, bo z niej zawsze korzystam.
  1. <?php
  2. $pdo= new PDO ('mysql:host=localhost;dbname=base', 'root', 'password');
  3. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Matado
post 9.04.2009, 22:36:02
Post #2





Grupa: Zarejestrowani
Postów: 67
Pomógł: 0
Dołączył: 9.12.2008

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


Ok, napisałem taką klasę, tylko jak teraz ustawić to w konstruktorze żebym od razu mógł korzystać z zapytań np.:
  1. <?php
  2. $this-> db-> prepare();
  3. $this-> db-> bindValue();
  4. $this-> db-> execute();
  5. ?>


Klasa:
  1. <?php
  2.  
  3. class Database
  4. {
  5.    public $dsn= 'mysql:host=localhost;dbname=trial';
  6.    public $username= 'root';
  7.    public $password= '';
  8.    public $db;
  9.    
  10.    public function connect()
  11.    {
  12.        $pdo= new PDO ($this-> dsn, $this-> username, $this-> password);
  13.        $this-> db= $pdo;
  14.    }
  15. }
  16.  
  17. ?>


Tutaj przykładowa klasa, tutaj nie wiem właśnie jak ustawić w konstruktorze, żeby móc korzystać z klasy do obsługi db.
  1. <?php
  2.  
  3. class users
  4. {
  5.    public function __construct()
  6.    {
  7.        include_once ('db.php');
  8.        $this-> db= '';
  9.    }
  10. }
  11.  
  12. ?>
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 21:14