Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> użycie metod jednej klasy w drugiej
sunpietro
post
Post #1





Grupa: Zarejestrowani
Postów: 262
Pomógł: 26
Dołączył: 23.01.2009
Skąd: eZ Systems

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


witam,
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:
  1. //klasa do łączenia się z bazą - w przyszłości to będzie Singleton
  2.  
  3. class DB {
  4. private $server = 'localhost';
  5. private $db_nazwa = 'baza';
  6. private $db_user = 'root';
  7. private $db_pass = '';
  8.  
  9. public function __construct() {
  10. $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>');
  11. $base = mysql_select_db($this->db_nazwa, $polaczenie);
  12. if($base)
  13. echo '<p>Połączono z '.$this->db_nazwa.'</p>';
  14. }
  15.  
  16. public function zapytanie($query) {
  17. $wynik = mysql_query($query);
  18. if(!empty($wynik)) {
  19. return $wynik;
  20. }
  21. else {
  22. echo '<p>Błąd zapytania</p>';
  23. }
  24. }
  25. }


  1. //klasa generatora treści
  2.  
  3. class Generator {
  4. protected $dane_firmy = '';
  5. private $db = '';
  6.  
  7. function __construct(DB $db) {
  8. $this->db = $db;
  9. }
  10.  
  11. function pobierzFirmy() {
  12. $query = '
  13. SELECT imie, nazwisko, opis
  14. FROM fe_users
  15. WHERE typ_konta = "2"
  16. ORDER BY uid DESC
  17. ';
  18. $wynik = $this->db->zapytanie($query);
  19. echo $wynik;
  20. return $dane_firmy;
  21. }
  22. }


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?

Ten post edytował sunpietro 11.08.2010, 09:22:01
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: 5.10.2025 - 06:51