Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z Dziedziczeniem
Forum PHP.pl > Forum > PHP > Object-oriented programming
GameMaker
Witajcie !

Może mi ktoś wytłumaczyć na czym polega mój błąd przy dziedziczeniu.

  1.  
  2.  
  3. class MainClass{
  4.  
  5. public $logged_in = null;
  6. public $session = null;
  7. public $user_info = null;
  8. public $sesjas = null;
  9.  
  10. function __construct($db = '')
  11. {
  12.  
  13. $this->db = $db;
  14.  
  15. $this->startSession();
  16. }
  17.  
  18.  
  19. private function startSession()
  20. {
  21.  
  22. $this->session = $_SESSION;
  23. return $this->session;
  24. }
  25.  
  26.  
  27.  
  28. public function LoginCheck(){
  29.  
  30. $this->sesjas = $this->db->query('Select * from wesele_user',true);
  31.  
  32. return $this->sesjas;
  33. }
  34.  
  35. private function setUserId($userid)
  36. {
  37.  
  38. $this->userid = $userid;
  39.  
  40. }
  41.  
  42. private function getUserId(){
  43.  
  44. return $this->userid;
  45. }
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52. }
  53.  
  54. class ShowInfo extends MainClass{
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62. public function wezSesje() {
  63.  
  64. if(is_object($this->db))
  65. {
  66. $this->sesja['1'] = 'yes';
  67. }else{
  68.  
  69. $this->sesja['1'] = 'no';
  70. }
  71.  
  72. return $this->sesja;
  73.  
  74. }
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87. }
  88.  
  89.  


Problem jest taki , że nie przekazuje mi obiektu $this->db .

qrooel
Polskie nazwy zmiennych? ;p
GameMaker
zmienna to zmienna , wiem ze sie stosuje angielskie nazewnictwo , ale mialem dzisiaj taki kaprys.
tehaha
pokaż jak tego używasz i jakiego działania się spodziewasz, z tego co tu wypisałeś, powienieś przekazywać zmienną $db do konstruktora klasy ShowInfo(), czyli np. tak:
  1. $a = new ShowInfo('aaa');
  2. echo $a->db;

dziwne jest to, że w przypadku nie przekazania tej zmiennej ustawiasz ją domyślnie jako typ String, natomiast w klasie ShowInfo sprawdzasz czy jest obiektem...ale zakładam, że to jakaś luźna zabawa językiem, a nie prawdziwy projekt, bo cała ta klasa wydaje się nie mieć sensu.
Pilsener
Cytat
Problem jest taki , że nie przekazuje mi obiektu $this->db .


Ja nie widzę takiego pola w klasie jednej ani drugiej. Po mojemu jak się używa $this->pole to te pole musi być zadeklarowane na początku klasy albo trzeba uzyć magicznej metody by to niestniejące pole obsłużyć.

I pokaż jak używasz tych klas plus komunikaty błędów.
greycoffey
Ustaw wyświetlanie wszystkich błędów, a zmiennej $this->db nie ma zadeklarowanego żadna klasa.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.