Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: dziedziczenie - problem
Forum PHP.pl > Forum > PHP > Object-oriented programming
misiek172
Witam.

Posiadam klase główną która steruje pozostałymi i chciałbym aby one były dziedziczone, teoretynie nie problem, piszemy extend i wymieniamy je, lecz ich liczba jest zmienna. Więc raz do załadowania potrzbować będę 3 a raz 5 klas no i teraz jak interaktywnie podać extends klasy do załadowania. Żeby za każdym razem nie trzeba było edytować pliku i je zmieniać.
Wszystkie nazwy klas są w tablicy.

Pozdrawiam, Łukasz.
wijet
Cytat
piszemy extend i wymieniamy je


Byłem przekonany że w php nie ma wielodziedziczenia dry.gif ?
DeyV
na szczęście potworek, który sobie wymyśliłeś, nie jest możliwy do napisania.

Na szczęście, bo aż przerażenie bierze na myśl, jak sprawowałby się kod tego typu.
dr_bonzo
Tak to tylko w Er... Rubym sie da.

misiek172: uzyj kompozycji zamiast wielodziedziczenia:

np.
  1. <?php
  2. class TwojaKlasa
  3. {
  4. private $polaczenieZBaza;
  5. ...
  6. function __construct( $polaczenieZBaza, $jakisInnyObiektPoKtorymChcialbysDziedziczyc )
  7. {
  8. this->polaczenieZBaza = $polaczenieZBaza;
  9. ..
  10. }
  11.  
  12. // jakas funkcja
  13. { $this->polaczenieZBaza->zrobCostam()
  14.  
  15. ...
  16. }
  17. }
  18. ?>


przez co nie potrzebujesz wielodziedziczenia a kod wyglada lepiej i jest bardziej ortogonalny (slowa mi braklo biggrin.gif)
misiek172
ehh yhh emm nie dokońca rozumiem ;P, nieważne, może zapytam inaczej

jakbyście widzieli plik do obsługi wielu klas?

(klasy takie jak: news.class, arts.class, menu.class, block.class itp)
mike
Co rozumiesz prze obsługę wielu klas ?
Masz na myśli wczytywanie ich czy coś innego ?
misiek172
zaprojektowałem sobię taką strukture:

OBRAZEK

i mi konkretnie chodzi cały czas o ten service.php

edit:
wymyśliłem innną strukture... chyba sobię poradze ale mile widziane wypowiedzi do powyższego problemu (człowiek uczy się na błędach smile.gif)
Łukasz O.
zgaduję: service.php = controller?
misiek172
tak, na tym obrazku jets napisane, plik do osbługi inaczej kontroler smile.gif ponieważ chce zrobić aby to było uniwersalne że na stronie nie musze ładować wszystkich klas tylko sobie ładuje sam service.php i nim obsługuje wszystko pozostałe.
Łukasz O.
ale to nie wydajne - po co mi wszsytko (np. galeria i artykuły) równocześnie? kontroler to kontroler - ładuje to co potrzebne w danej chwili - np. wg. linku, parametrów, wewnętrznych akcji - uniwersalne to będzie wtedy, kiedy uda się skonstruować kontroler, do którego bez żadnych problemów dorzucisz kolejne moduły np. sonde
misiek172
no włąśnie o tym mówie biggrin.gif widziałem ten obrazek co załączyłęm 4 posty wyżej?
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.