![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 308 Pomógł: 13 Dołączył: 31.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
napisałem cms który ma tam jakieś moduły i są one ofertą podstawową. Użytkownicy zakładając konta pracują na tych samych plikach, ale osobnych bazach. Jednak są użytkownicy którzy potrzebują jakieś dodatkowe funkcje. Zrobiłem tak po to, żeby uniknąć po tysiąc krotnego poprawiana tych samych plików w razie wystąpienia błędu. Ale wracając do tematu, jest użytkownik który chcę dodatkową funkcję... całość jest napisana obiektowo. W podstawowym pakiecie powiedzmy jest dodawanie artykułów i jest to klasa Artykuly metoda dodaj. Pewien użytkownik chcę mieć możliwość dodawania razem z treścią zdjęć. Wymyśliłem coś takiego w katalogu modifications są podkatalogi user1, user2 z zmodyfikowanymi plikami. Teraz tak w pliku podstawowym Artykuly.Controller.php mamy:
w pliku modification/users1/Artykuly.Controller.php mamy:
Jak zrobić teraz żeby w klasie podstawowej zmieniła się tylko funkcja dodaj? Czy może ktoś zna jakieś inne lepsze rozwiązanie? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Nie musisz przepisywac calego pliku skoro: modification/users1/Artykuly.Controller.php to jest jakis dodatek to mozesz zrobic tak kazdy dodatek jak bedziesz pisal ma dziedziczy z klasy podstawowej czyli w tym przypadku:
Klasa podstawowa: Artykuly Klasa rozszerzajaca: Artykuly ale jest inna sciezka pliku bo modification/users1/Artykuly.Controller.php. Czyli teraz jak masz kontroler modification/users1/Artykuly.Controller.php includuj do niego glowna klase kontrolera Artykulow po czym robisz:
Teraz przed utworzeniem obiektu artykuly i wywolania metody sprawdzasz czy istnieje plik: modification/users1/Artykuly.Controller.php jesli tak includujesz go i inicjuesz ta sama klase z sufix'em Addons. Rozumiesz?To najprostszy sposob jaki przychodzi mi do glowy. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 21:40 |