Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%)
|
Mam cudzą aplikację, oparta jest o MVC.
Do dwóch metod w kontrolerze chciałem dodać małą akcję (statystyki). Aby uniknąć edytowania kodu aplikacji zacząłem pisać klasę rozszerzającą te dwie metody. Klasę by wystarczyło zaicludować w pliku głównym (brak autoloadera) i tyle. W funkcji zawarłem mój kod + ::parent(funkcja). No ale chwila.. To nie działa w tą stronę.. Metoda pokazStroneX wywoływana jest na obiekcie rodzica, a nie dziecka tak więc to co napisałem nie ma prawa działać. Działałoby gdyby metoda była wywoływana na obiekcie klasy rozszerzającej, ale to znów by wymagało ingerencji w kod aplikacji. Tutaj się zastanawiam jak uniknąć ingerowania w kod kontrolera jeżeli w systemie tym, nie ma żadnego systemu pluginów czy API? Są jakieś metody? Jakieś koncepcje? Ten post edytował markonix 18.06.2011, 00:04:24 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%)
|
skowron-line, proszę:
Aplikacja działa na obiekcie rodzic. Aby wywołała mi się moja metodaX jestem zmuszony w ingerencje kodu (wywołanie metody metodaX na obiekcie $rozszerzajaca czego po prostu chciałbym uniknąć, aby to było elastyczne rozszerzenie aplikacji). Zresztą modyfikacja pliku głównego już w sumie była by gorsza od modyfikacji ręcznej tej metody. Po prostu czy mogę "ładnie" jakoś uzupełnić aplikacje, gdy nie ma ona przewidzianej pluginizacji, zawsze miałem przekonanie że dziedziczenie na to pozwoli, dziś chciałem tego użyć i myśl "przecież to tak nie działa, nie w tę stronę". Ten post edytował markonix 18.06.2011, 14:05:25 |
|
|
|
markonix Uzupełnianie metod rodzica 18.06.2011, 00:03:43
skowron-line Szczerze mówiąc to nie bardzo zrozumiałem o co cho... 18.06.2011, 07:31:53
pejott Hehe, coś o czym mówisz jest błahostką np. w Symfo... 18.06.2011, 07:56:54
wookieb Cytat(pejott @ 18.06.2011, 08:56:54 )... 18.06.2011, 11:04:24
Crozin Twój problem wynika z tego, że gdzieś tam w aplika... 18.06.2011, 14:20:45 
markonix Cytat(Crozin @ 18.06.2011, 15:20:45 )... 18.06.2011, 15:30:44
everth Cytatby uniknąć edytowania kodu aplikacji zacząłem... 18.06.2011, 15:39:05 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 12:00 |