![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 125 Pomógł: 2 Dołączył: 8.10.2010 Skąd: Poniemieckie miasto przesiedleńców Ostrzeżenie: (0%) ![]() ![]() |
gdzie sprawdzać czy dany wywołany kontroler jest dopuszczalny? jeszcze w routerze zanim przekaże do dispatchera czy dopiero w nim?
chce kontrolować jaki kontroler jest wywoływany i jeśli jest np. z poza dopuszczalnego zbioru to przerzucać na ustalony przeze mnie default_controller, w którym miejscu to robić? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 450 Pomógł: 135 Dołączył: 18.11.2010 Skąd: Wschowa Ostrzeżenie: (0%) ![]() ![]() |
-------------------- “ Computers are good at following instructions, but not at reading your mind. ” - Donald Knuth |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 125 Pomógł: 2 Dołączył: 8.10.2010 Skąd: Poniemieckie miasto przesiedleńców Ostrzeżenie: (0%) ![]() ![]() |
przepraszam czego w moim pytaniu nie rozumiesz, że musiałeś mnie spuścić na drzewo?
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 589 Pomógł: 91 Dołączył: 22.05.2008 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
W dispacherze, bo to on zarządza takimi danymi jak kontroler, akacja i parametry.
-------------------- Moja gra - scraby.io
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 125 Pomógł: 2 Dołączył: 8.10.2010 Skąd: Poniemieckie miasto przesiedleńców Ostrzeżenie: (0%) ![]() ![]() |
thx
kolejne pytanie z serii zatrważająco trudnych: widok dla danego kontrolera powinien być inicjowany przez niego samego (w funkcji wewnątrz jego klasy) czy w dispatcherze jeśli to on odpowiada za obsługę uruchamiania kontrolera? |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Dispatcher jest tylko do wywołania kontrolera z odpowiednimi parametrami. To kontroler (a właściwie Prezenter) powinien decydowac o tym jaki widok należy wywołać. Właściwie dla pełnego obrazu należało by zadać pytanie... W jakim wzorcu projektowym masz na myśli odpowiedź?
![]() -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 125 Pomógł: 2 Dołączył: 8.10.2010 Skąd: Poniemieckie miasto przesiedleńców Ostrzeżenie: (0%) ![]() ![]() |
generalnie uczę się śledząc przebieg całego procesu w przypadku MVC, niestety książki z których korzystam oraz to co jest na necie są tragiczne pod względem dokładnego objaśnienia jakie kolejno zdarzenia powinny mieć miejsce (na konkretnym przykładzie, bo oczywiście teorii jest wszędzie multum i każdy autor pisze coś innego). Nie zależy mi generalnie na dokładnym trzymaniu się MVC ale utrzymanie się w jego ramach daje chyba duże możliwości, bo i logika budowania aplikacji staje się jaśniejsza (oddzielenie warstw od siebie). Kwestia zrozumienia tylko jakie interakcje powinny zachodzić w którym momencie... a np. "wspaniała" publikacja Programowanie Obiektowe w PHP5 podaje taki kod w dispatcherze po odebraniu danych z routera:
jednym słowem inicjalizacja widoku odbywa się w dispatcherze... i bądź tu mądry i chciej się człowieku uczyć z książek... Ten post edytował olechafm 13.05.2011, 18:03:41 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 450 Pomógł: 135 Dołączył: 18.11.2010 Skąd: Wschowa Ostrzeżenie: (0%) ![]() ![]() |
przepraszam czego w moim pytaniu nie rozumiesz, że musiałeś mnie spuścić na drzewo? Przepraszam za spuszczenie Cię na drzewo. Wynikło to jedynie z mojej niewiedzy. -------------------- “ Computers are good at following instructions, but not at reading your mind. ” - Donald Knuth |
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Dispatcher zajmować się powinien jedynie przetwarzaniem żądania tak, by przyporządkować do niego odpowiedni kontroler i parametry. Jeśli miałbyś się trzymać w aplikacji webowej się MVC to... nie uda Ci się. To co w frameworkach jest używane i nazywa się jako MVC jest tak naprawdę MVP. A ten wzorzec opiera się na zasadzie: prezenter wybiera model oraz widok i je komunikuje między sobą. Tak więc odwołania do modelu i wywołania widoków oraz ich metod odbywają się wewnątrz prezentera.
-------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 125 Pomógł: 2 Dołączył: 8.10.2010 Skąd: Poniemieckie miasto przesiedleńców Ostrzeżenie: (0%) ![]() ![]() |
A do jakiego stopnia kontroler(prezenter) powinien być pośrednikiem w komunikacji między widokiem i modelem? Powinien sam pobrać z modelu interesujące dane, zapisać je w sobie i przekazać dopiero te dane do widoku w czystej postaci(zmiennych, tablic etc.), czy powinien do widoku przekazać obiekt modelu i pozwolić by odpowiednimi funkcjami widok sobie te dane wypruł z modelu?
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 226 Pomógł: 61 Dołączył: 20.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Cytat A do jakiego stopnia kontroler(prezenter) powinien być pośrednikiem w komunikacji między widokiem i modelem? Powinien sam pobrać z modelu interesujące dane, zapisać je w sobie i przekazać dopiero te dane do widoku w czystej postaci(zmiennych, tablic etc.), czy powinien do widoku przekazać obiekt modelu i pozwolić by odpowiednimi funkcjami widok sobie te dane wypruł z modelu? Jeśli masz na myśli MVC, to to drugie. -------------------- |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 125 Pomógł: 2 Dołączył: 8.10.2010 Skąd: Poniemieckie miasto przesiedleńców Ostrzeżenie: (0%) ![]() ![]() |
MVC aka MVP...
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 226 Pomógł: 61 Dołączył: 20.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
MVC i MVP to dwa wzorce, które różnią się między innymi sposobem komunikacji między widokiem a modelem. Więc jak ci mam odpowiedzieć na to pytanie?
http://www.google.pl/search?q=MVC+vs+MVP - w pierwszym linku masz diagram -------------------- |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 125 Pomógł: 2 Dołączył: 8.10.2010 Skąd: Poniemieckie miasto przesiedleńców Ostrzeżenie: (0%) ![]() ![]() |
ciężko mi się zorientować, szczególnie, że dopiero odkrywam obydwa wzorce, niby chodzi mi o MVC ale:
Jeśli miałbyś się trzymać w aplikacji webowej się MVC to... nie uda Ci się. To co w frameworkach jest używane i nazywa się jako MVC jest tak naprawdę MVP. ale z tego co rozumiem to - w MVP widok i model nie mają ze sobą styczności, wszystko przechodzi przez prezenter(kontroler), który pobiera żądane przez widok dane z modelu i mu je zwraca - w MVC kontroler inicjuje model i widok, przekazuje widokowi instancję modelu, który pobiera dane za jego pośrednictwem przy czym w obu przypadkach model nie inicjuje żadnych akcji czy interakcji z własnej woli Ten post edytował olechafm 16.05.2011, 15:28:49 |
|
|
![]()
Post
#15
|
|
![]() Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
Jest osobny temat jeśli chodzi o wzorce architektoniczne, tam na ten temat prowadźcie dyskusję .
Od siebie dodam że popularne frameworki nie używają MVP, w MVP view nie ma dostępu do modeli, a w frameworkach to podstawa ;] |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 125 Pomógł: 2 Dołączył: 8.10.2010 Skąd: Poniemieckie miasto przesiedleńców Ostrzeżenie: (0%) ![]() ![]() |
zapewne na pytanie które rozwiązanie lepsze w przypadku tej komunikacji, otrzymam tyle samo różnych opinii co odpowiedzi i muszę się sam przekonać co mi lepiej pasuje... mam rację?
|
|
|
![]()
Post
#17
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Dokładnie
![]() ![]() -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 125 Pomógł: 2 Dołączył: 8.10.2010 Skąd: Poniemieckie miasto przesiedleńców Ostrzeżenie: (0%) ![]() ![]() |
póki co przepisałem kod na tę wersję zgodną z MVC i na razie tak będę go wykorzystywał, za dużo rzeczy na raz do nauki jest na początku, żeby wszystko od razu robić dobrze...
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 06:06 |