Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Programowanie obiektowe
qba10
post
Post #1





Grupa: Zarejestrowani
Postów: 264
Pomógł: 20
Dołączył: 19.08.2007
Skąd: Bryńsk k. Lidzbarka Welskiego (nie mylić z Warmińskim)

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


Witam
Właśnie co uczę się na sucho programowania obietowego.
Mam o to taki kod:
  1. <?php
  2. class baza_danych
  3.  {
  4. var $bazadanych_connect;
  5. var $bazadanych_connect_db;
  6. var $host; 
  7. var $user;
  8. var $password;
  9. var $dbname;
  10. var $rodzaj;
  11.  
  12.  public function __construct($rodzaj)
  13.  {
  14.  $this->rodzaj = $rodzaj ;
  15.  
  16.  }
  17.  
  18.  private function wybor_bazy_danych()
  19. {
  20. $konstrukcja_connect = '@'.$this->rodzaj.'_connect($this->host, $this->user, $this->password );';
  21. $konstrukcja_connect_db = '@'.$this->rodzaj.'_select_db($this->dbname);' ;
  22. $connect = $konstrukcja_connect;
  23. $connect_db = $konstrukcja_connect_db;
  24.  
  25. if ($connect) { $this->bazadanych_connect = 1; } else { $this->bazadanych_connect = 0;}
  26. if ($connect_db) { $this->bazadanych_connect_db = 1; } else { $this->bazadanych_connect_db = 0;}
  27. }
  28.  
  29.  
  30.  
  31. function polaczenie($host, $user, $password, $dbname )
  32. {
  33. $this->host = $host ;
  34. $this->user = $user ;
  35. $this->password = $password ;
  36. $this->dbname = $dbname ;
  37.  
  38. if ($this->bazadanych_connect = 0)
  39. {
  40.  echo'blad polaczenie z baza danych'.$this->rodzaj ;
  41. }
  42. if ($this->bazadanych_connect_db = 0)
  43. {
  44.  echo'blad polaczenie z baza danych'.$this->rodzaj ;
  45. }
  46.  
  47. }
  48. }
  49. ?>


I tu własnie moje pytanie. Czy ta klasa jest poprawna i czy przy wywołaniu jej w sposub pokazany ponizej otrzymam pozadany wynik?
  1. <?php
  2. $baza_danych = new baza_danych($mysql_lub_pg) ;
  3.  echo $baza_danych->polaczenie($host, $user, $password, $dbname ) ;
  4. ?>


Ten post edytował qba10 7.06.2008, 19:26:02
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
qba10
post
Post #2





Grupa: Zarejestrowani
Postów: 264
Pomógł: 20
Dołączył: 19.08.2007
Skąd: Bryńsk k. Lidzbarka Welskiego (nie mylić z Warmińskim)

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


Napisałem ten oto obiekt na nowo i wyskakuje mi błąd:
Fatal error: Non-abstract method baza_danych::polaczenie() must contain body in /home/qba10/public_html/test/system/jadro/e-door/functions/polaczenie.php on line 16
  1. <?php
  2. class baza_danych 
  3. {
  4. private $host, $user, $pass, $dbname, $rodzaj, $error;
  5.  
  6. public function __construct($host, $user, $pass, $dbname, $rodzaj ) 
  7. {
  8. $this->host = $host ;
  9. $this->user = $user ;
  10. $this->pass = $pass ;
  11. $this->dbname = $dbname;
  12. $this->rodzaj = $rodzaj ;
  13.  
  14. }
  15.  
  16. public function polaczenie() ;
  17. {
  18. if ( 'mysql' == $this->rodzaj )
  19. {
  20. $wykonaj = @mysql_connect($this->host, $this->user, $this->pass)
  21. }
  22. elseif ( 'pg' == $this->rodzaj )
  23. {
  24. $wykonaj = @pg_connect($this->host, $this->user, $this->pass)
  25. }
  26. else
  27. {
  28. $include = include ('system/jadro/e-door/includes/error_bazydanych_rodzaj.php') ;
  29. echo $include ;
  30. }
  31. if ($wykonaj) 
  32. {
  33. if ( 'mysql' == $this->rodzaj )
  34. {
  35. $db = @mysql_select_db($this->dbname);
  36. if (!$db)
  37. {
  38. $include2 = include ('system/jadro/e-door/includes/error_bazydanych_db.php') ;
  39. }
  40. }
  41. elseif ( 'pg' == $this->rodzaj )
  42. {
  43. $db = @pg_select_db($this->dbname);
  44. if (!$db)
  45. {
  46. $include2 = include ('system/jadro/e-door/includes/error_bazydanych_db.php') ;
  47. }
  48. }
  49. else
  50. {
  51. $include2 = include ('system/jadro/e-door/includes/error_bazydanych.php') ;
  52. }
  53. }
  54.  
  55. }
  56. }
  57. ?>


Jaki znowu błąd popełniłem?

@nevt
Mamusia nawet nie wie co to PHP (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
A za kaleczenie języka i za głupie uwagi z całego serca przepraszam

Pozdrawiam
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: 8.10.2025 - 15:24