![]() |
Tematy na forum Pro mogą zakładać jedynie moderatorzy. W otwartych tematach może pisać każdy, kto ma coś fachowego do powiedzenia. Wszystkie posty nie wnoszące nic do tematu będą natychmiast usuwane, a ich autorzy dostaną ostrzeżenie.
Jeśli uważasz, że jakiś temat jest warty dyskusji na tym forum, zgłoś go w temacie Propozycje.
![]() |
![]()
Post
#1
|
|
Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Mam nadzieję, że trafię w gusta z takim tematem.
Dyskusja dotyczy szeroko rozumianego V w architekturze MVC, jego budowy i sposobów działania w różnych frameworkach i rozwiązaniach własnych. Terminologia A Proponuję przyjąć taką terminologię , aby nie było w dyskusji nieporozumień. Widok to inaczej warstwa prezentacji wyników użytkownikowi. W budowie występują: format i renderer Formatami są np. HTML, XML, plik tekstowy, obrazek Rendererami dla formatu HTML są np. (gołe)PHP, Smarty, OPT Dane widoku to wszelkie dane, przekazane do widoku przez kontroler lub dane, do których widok ma dostęp w inny sposób. Proszę zatem nie pisać, "że widok pobiera dane z modelu", bo jeśli ma do niego dostęp, to model jest daną, którą widok potrafi zinterpretować. Mile widziane diagramy UML lub inne, byle miały ręce i nogi (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Proszę nie zadawać pytań przedszkolnych! P.S Jeśli ktoś ma jeszcze jakieś propozycje terminologii, proszę zgłosić mi, albo któremuś moderatorowi - jeśli będa sensowne, zostaną dodane w tym poście. Jeśli ktoś się nie zgadza z tą terminologią, niech zaproponuje inną i zaznacza, której używa w dyskusji (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Następna nazwa to 'B', potem 'C' itd Pozdrawiam. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
@orglee - To, że dla użytkownika frameworka model działania ogranicza się do: akcja - szablona nie oznacza, że cała ta warstwa jest taka prosta. Owszem, tworzenie za każdym razem klasy akcjaSzablon extends megaView jest idiotyczne z użytkowego punktu widzenia. Sam widok to jest mała aplikacja. Zawiera kontroler, który przed przed zleceniem przeparsowania szablonu dokonuje wyboru formatu i jego renderera. Musi to sprawdzić w konfiguracji, zareagować na żądania użytkownika (takie np. jak pokazał ~LBO w swoim poście). Mógłbym w akcji umieścić kod
a w drugiej akcji
i jedyne o co musiałbym zadbać, to odpowiedni plik szablonu z kodem czytelnym dla tych rendererów. Ba!
I już kontroler widoku musi wiedzieć, że poleci plik PDF, a nie HTML i odpowiednio przygotować nagłówki odpowiedzi, plugin z rendererem, przekazać mu dane i na końcu go uruchomić. Tym się właśnie zajmuje widok jako warstwa. Dlatego nie można go nazwać szablonem. @LBO - gdzieś jednak musi zostać podjęta decyzja o formacie odpowiedzi. Można się pobawić w inteligentne rozpoznawanie, czego najprostszym przykładem są rozszerzenia http://domain.pl/news.hml http://domain.pl/news.xml http://domain.pl/news.pdf http://domain.pl/news.img Teraz kontroler widoku może sam ustalić co zwróci do przeglądarki. Wystarczy, że w konfiguracji ustalimy taką dyrektywę i już (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) (nie mówię tu o Symfony, tylko o hipotetycznym FW, w którym można ustalać takie rzeczy poprzez wpisy w konfiguracji i przełączniki). W tym momencie kontroler (akcja) nic nie musi robić. W SF też domyślnie jest zwracany widok sfView::SUCCESS dla akcji jeśli w jej ciele nie zdecydujesz inaczej. Tak jak wspomniałem - gdzieś ta kontrola musi być zawarta. Pozdrawiam |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 03:29 |