ostatnio próbuję się bawić obiektowym PHP i mam problem z wykorzystaniem metod z jednej klasy wewnątrz drugiej.
Mój kod wygląda następująco:
//klasa do łączenia się z bazą - w przyszłości to będzie Singleton class DB { private $server = 'localhost'; private $db_nazwa = 'baza'; private $db_user = 'root'; private $db_pass = ''; public function __construct() { $polaczenie = mysql_connect($this->server, $this->db_user, $this->db_pass) or die('<p>Nie można połączyć się z serwerem baz danych.</p>'); if($base) } public function zapytanie($query) { return $wynik; } else { } } }
//klasa generatora treści class Generator { protected $dane_firmy = ''; private $db = ''; function __construct(DB $db) { $this->db = $db; } function pobierzFirmy() { $query = ' SELECT imie, nazwisko, opis FROM fe_users WHERE typ_konta = "2" ORDER BY uid DESC '; $wynik = $this->db->zapytanie($query); return $dane_firmy; } }
Takie wykorzystanie kodu generuje mi błąd: "Fatal error: Cannot redeclare class DB" czyli nie można zredeklarować klasy DB, ale co to dokładnie oznacza?
Jak inaczej mogę wykorzystać tego typu metody w klasach?