Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Dziedziczenie wewnątrz klas
Forum PHP.pl > Forum > Przedszkole
-hmmm-
Witam mam klasę rodzica
  1. class rodzic
  2. {
  3. public $pdo;
  4.  
  5. public function __construct()
  6. {
  7. //łączenie się z PDO i przypisanie do $this -> pdo;
  8. }
  9.  
  10. public function load_module()
  11. {
  12. include $_GET['module'].'class.php';
  13. $mod = new module;
  14. echo $mod -> display();
  15. }
  16. }

i teraz mam klase dziecka wczytywana pryey funkcje load_module()
  1. class module extends rodzic {
  2. public function display()
  3. {
  4. echo 'lol';
  5. }
  6. }

i teraz w klasie potomnej znowu łączy sie z baza danych a nie da sie po prostu odziedziczyc wartosci rodzic->pdo zeby w dziecku nie musial sie ponownie laczyc z baza? bo czasami sie zdaza w bardziej zawilych przypadkach ze przez to mam too many connections... na localhoscie ...
prosze o pomoc
Fifi209
Bo to dwa zupełnie inne obiekty niemające ze sobą nic wspólnego.

Napisz może co chcesz uzyskać, jest tyle różnych wzorców że będzie coś pasowało do Twoich potrzeb.
-hmmm-
chce uzyskac to ze w silniku zalaczam rozne biblioteki pdo, szablony, langi, sesje i chcialbym zeby pozniej jak wywolam jakas klase (modul) w tej klasie nadrzednej zebymiala automatycznie pprzypisane wartosci tych zmiennych mianowicie ze w klasie modulu nie musze sie laczyc z baza danych tylko dam
$this -> pdo -> query("select * from site");
Fifi209
Złe podejście wrzucać wszystko do jednego worka, dlatego też masz problemy.
Poczytaj o MVC ew. MVP

Pomijając złą logikę, zapomniałem że mógłbyś wykorzystać wzorzec Registry.
Crozin
@Fifi209: Co ma tutaj w ogóle MVC/P do rzeczy? Temat dot. kompletnych podstaw obiektówki, a Ty z architekturą aplikacji wyskakujesz. Swoją drogą najpierw zarzucasz wrzucanie do jednego wora, potem sugerujesz użycie takiego wora w postaci wzorca rejestru.

@--hmmm--: Przeczytaj sobie jeszcze raz w manualu (czy ogólnie w Googleu) rozdział dot. dziedziczenia (możesz również korzystać z materiałów dla Javy ponieważ mechanizm ten działa niemalże identyczne w obu językach) ponieważ błędnie pojmujesz jego założenia. Nowo tworzone obiekty (new) nie dziedziczą niczego z już istniejących obiektów. Natomiast co do samego problemu. Słowo klucz: dependency injection (ang. wstrzykiwanie zależności) - a w sieci już znajdziesz materiałów od groma.
Fifi209
Crozin, jeżeli się uczyć to od razu może dobrych nawyków? Co do wora, napisałem że pomijając złą logikę co samo w sobie miało uchronić mnie przed tym co napisałeś. wink.gif
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.