![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 0 Dołączył: 5.03.2011 Ostrzeżenie: (0%)
|
Witam was.
Mam taki problem w rozumieniu oop. Chcialbym aby moja klasa UserManagera ktora zarzadza obiektem user dziedziczyla inna klase. mam cos takiego: Klasa user_M dziedziczy po klasie CRUD
Dodatkowo dodam ze dopiero co ucze sie OOP w php i wymyslilem sobie aby moje managery dziedziczyly pewne dodatkowe funkcje z klasy nadrzednej. W tej nadrzednej klasie musze natomiast w do konstruktora przekazac obiekt polaczenia z bd ktory znika przy wywolaniu jakiejkolwiek klasy ktora dziedziczy se. albo w ogole jeszcze inne opcje. Rozwazam teraz 2 warianty. Czy lepiej aby moja baza danych dziedziczyla klase crud i wtedy przekazuje instancje bazy danych do userManagera czy aby moja klasa UserManagera dziedziczyla po klasie CRUD. bardziej podoba mi sie 2 opcja ale nie wiem na ile jest dobra. Co do poprzedniego posta to przeciez instancje moge obiektu bazy danych moge wykonac w konstruktorze a potem przy dziedziczeniu go nie nadpisywac , tak ? Kurcze ktoredy droga (IMG:style_emoticons/default/smile.gif) |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 320 Pomógł: 29 Dołączył: 3.04.2010 Ostrzeżenie: (20%)
|
userManager nie jest, nie rozszerza, CRUDa? Jeśli tak, dziedziczenie nie ma sensu. Zastosuj kompozycję, a nie sztucznie tworzone wytyczne (IMG:style_emoticons/default/wink.gif)
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 0 Dołączył: 5.03.2011 Ostrzeżenie: (0%)
|
Cytat userManager nie jest, nie rozszerza, CRUDa? sorry ale nie rozumiem :/ . Zastanawiam sie czy plik bazy danych powinien zawierac badz rozszerzac cruda, czy plik managerow. Dodatkowo, wczesniej zostalem poinformowany ze nalezy robic instancje bazy danych, potem ja przekazac do klasy managera. A ja sobie mysle ze fajnie byloby aby juz manager rozszerzal jakas klasa ktora ta instancje ma i dzieki temu nie musze wywolywac bazy danych ciagle jak chce skozystac z managera tylko dzieje sie to wewnatrz niego. Dobrze kombinuje ? Potrzebuje tutaj pomocy chlopcy. Nie duzo jeszcze wiem o tych patentach. |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%)
|
CRUD'em w tym wypadku jest User a UserManager tylko nim "steruje". Oczywiście User, może rozszerzać jakąś inną klasę w której będziesz trzymał podstawowe metody typu usuń, dodaj, zmień Ten post edytował CuteOne 15.10.2011, 13:01:09 |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 0 Dołączył: 5.03.2011 Ostrzeżenie: (0%)
|
kurcze,bez kitu troche sie gubie w tej kwestii. Mam pliki user, userManager, crud, i db.
Wczesniej robilem same kontenery a zarzadzal nimi user_manager. Z tego co wyzej napisales to model moze rozszerzac cruda. ok, ok, ale to wtedy po co mi caly ten manager. Wszyskie funkcje moge walnac do modelu i bedzie gruby model. Dobrze ? Do tego widze ze do baze przekazujesz singletonem a tak chyba jest fee.. |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%)
|
Takie mini-demo tego co można zrobić z Managerem(dokładnie opisywać nie ma sensu bo za dużo tego jak na jeden post) po więcej zapraszam do "PHP5. Zaawansowane programowanie" (IMG:style_emoticons/default/smile.gif) Co do singletona metoda z Zend_Db_Table_Abstract:
Ten post edytował CuteOne 15.10.2011, 20:33:31 |
|
|
|
![]() ![]() |
|
Aktualny czas: 23.12.2025 - 17:39 |