Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zasady pisania na forum Pro

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.

> Widok - renderowanie widoku, sposoby implementacji, różnice w istniejacych rozwiązaniach
Cysiaczek
post
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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Sedziwoj
post
Post #2





Grupa: Zarejestrowani
Postów: 793
Pomógł: 32
Dołączył: 23.11.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Od samego typu widoku nie jest zależne która akcja się wykona, więc to nie Router powinien decydować jaki będzie "typ" wynikowy. To już jest poziom kontrolera. Można oczywiście wykorzystać mainControler do tego, ale to jednak w nim powinien być wybierany widok.
Pytanie, jak z szablonami html wiadomo, mają określoną nazwę i lokalizacje i w tan sposób są dobierane, to jak sprawa przy PDF, gdzie musi istnieć klasa która umie wygenerować odpowiednie dane wynikowe? W sumie to sam widok powinien wiedzieć jaka jest domyślna konfiguracja, więc można dla PDF tworzyć unikatowe klasy renrerer'ów, które by potrafiły obsłużyć to co widok dostał.
(chyba muszę sobie przyswoić lepiej słownictwo, bo się nie dogadamy ;] )

A no i to sam widok określa jaki typ jest zwracany, bo on wie kim jest, nie ma żadnego ustawiania.

Ogólnie tym do czego dążę to aby mieć jakieś widoki (Smatry/OPT/XML/PDF/JSON) i do nich odpowiednie "renderer"y dla smarty .tpl, dla PDF odpowiednia klasa itd.
Dzięki temu, jakby ktoś chciał zmienić system szablonów wystarczy zaimplementować odpowiedni interfejs/abstrakcje widoku i dla miejsc wystąpienie potrzebne renderery. W czym renderery nie są jakoś zunifikowane, bo należą tylko do widoku.

EDIT: literówka

Ten post edytował Sedziwoj 16.09.2008, 16:00:35
Go to the top of the page
+Quote Post

Posty w temacie
- Cysiaczek   Widok - renderowanie widoku   12.09.2008, 15:38:06
- - orglee   Dobra to ja doleję oliwy do ognia i zaczn...   12.09.2008, 17:23:25
- - LBO   Mnie osobiście denerwuje, że w MVC rozpowszechnion...   13.09.2008, 21:16:47
- - orglee   No właśnie otóż to. Dla mnie widok ...   13.09.2008, 22:29:43
- - LBO   Cytat(orglee @ 13.09.2008, 23:29:43 )...   13.09.2008, 23:17:06
- - Cysiaczek   @orglee - To, że dla użytkownika frameworka model ...   13.09.2008, 23:31:24
- - orglee   CytatNie zapominaj, że Smarty nie zrobi wszystkieg...   13.09.2008, 23:59:15
- - LBO   Cytat(Cysiaczek @ 14.09.2008, 00:31:2...   14.09.2008, 00:31:40
- - Cysiaczek   Coś czuję, że zaraz znów rozbijemy ...   14.09.2008, 00:32:29
- - LBO   Cytat(orglee @ 14.09.2008, 00:59:15 )...   14.09.2008, 00:42:15
- - orglee   Mam propozycję. Może zdefiniujmy czym powinno się ...   14.09.2008, 01:00:09
- - Cysiaczek   Ja od zawsze forsuję prosty podział widoku na: 1. ...   14.09.2008, 01:25:37
- - Black-Berry   CytatNo właśnie otóż to. Dla mnie widok jest to pl...   14.09.2008, 10:19:25
- - LBO   Cytat(Black-Berry @ 14.09.2008, 11:1...   14.09.2008, 10:26:15
- - dr_bonzo   Dane do widoku wybieram w kontrolerze, widok (zwyk...   14.09.2008, 19:55:51
- - Sedziwoj   Mi też się wydaje że problemem jest raczej ustalen...   16.09.2008, 12:38:52
- - LBO   Cytat(Sedziwoj @ 16.09.2008, 13:38:52...   16.09.2008, 12:57:24
- - dr_bonzo   U mnie, w akcji, wybierany jest typ odpowiedzi. T...   16.09.2008, 13:04:53
- - LBO   dr_bonzo: Rozumiem, że posiadasz jakis router do T...   16.09.2008, 13:22:30
- - dr_bonzo   Oczywiscie mam router, wlasnie on sie zajmuje rozp...   16.09.2008, 13:33:17
- - Sedziwoj   Od samego typu widoku nie jest zależne która ...   16.09.2008, 16:00:08
- - LBO   Cytat(Sedziwoj @ 16.09.2008, 17:00:08...   16.09.2008, 20:51:29
|- - orglee   Cytat(LBO @ 16.09.2008, 21:51:29 ) Ja...   17.09.2008, 08:57:51
- - LBO   Cytat(orglee @ 17.09.2008, 09:57:51 )...   17.09.2008, 10:01:52
- - dr_bonzo   [ot] CLI = Command Line Interface   17.09.2008, 11:02:01
- - orglee   Zależnie od architektury frameworka wynik produkow...   17.09.2008, 13:46:35
- - LBO   @orglee PHP też mozna użyć do konso...   17.09.2008, 14:17:38
- - quality   Witam. A czy ktos uzywal kiedys XSLT do renderowan...   2.03.2011, 08:47:36
|- - Speedy   Cytat(quality @ 2.03.2011, 09:47:36 )...   9.04.2011, 15:53:42
- - everth   XSLT też może być przetwarzane po stronie serwera ...   9.04.2011, 16:04:29


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 20:11