Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 15.09.2008 Ostrzeżenie: (0%)
|
Witam,
uprzedzam, że przeczytałem temat przypięty wraz z odnośnikami i niewiele mi to pomogło - niestety. Mam trzy pytania odnośnie tego wzorca - jeżeli tworzę aplikację web'ową, to: 1. Czy kontroler jest samym plikiem (index.php), czy dopiero plik główny go inicjuje? 2. Jak jest z widokiem? Czy HTML jest zwracany do kontrolera, czy do pliku głównego? (przy opcji, że kontroler trzeba wcześniej załączyć) 3. Czy widok jest załączany przez kontroler, czy przez plik główny? (również przy drugiej opcji) |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%)
|
Ideę tego wzorca bardzo szybko i fajnie opisuje obrazek z wiki:
Cytat http://upload.wikimedia.org/wikipedia/comm...llerDiagram.svg (niestety nie można wstawić bezpośrednio obrazu SVG)Model-View-Controller concept. Note: The solid line represents a direct association, the dashed an indirect association via an observer (for example). W przypadku PHP ze względu na środowisko w jakim najczęściej ta technologia pracuje - czyli w obrębie protokołu HTTP komunikacja pomiędzy widokiem, a kontrolerem jest mocno ułomna ze względu na sam sposób działania tego protokołu. Cała reszta może być już poprawnie (w sensie bezproblemowo) zaimplementowana. Zauważcie, że kontroler jedynie "wywołuje" model, nie oczekuje od niego żadnych odpowiedzi, rezultatów. Nie przepadam za odsyłaniem do wiki, ale po prostu jest to tam dobrze opisany ten wzorzec: http://en.wikipedia.org/wiki/Model–v...roller#Overview Ponownie - to widok odpytuje model. Kontroler nic mu nie przekazuje, gdyż nie leży to w jego zakresie obowiązków. @Zyx: chciałbym tylko zwrócić uwagę na to, że w Symfony sytuacja z modelem się nieco poprawiła ostatnim czasy. ORM (Doctrine) nie jest już tak silnie utożsamiany z modelem i poprawnie korzystając z niego możemy mieć porządnie zaimplementowany "pseudo-MVC", ale jak ktoś w kontrolerze robi coś w stylu (przykład akurat dot. Propela): Kod $c = new Criteria(); I się dziwi, że nie ma burdel w aplikacji... to już jego wina.
$c->...; $c->...; $c->...; ...Peer::doSelect($c); |
|
|
|
Kikert [MVC] Kontroler - gdzie? 5.02.2010, 13:54:28
bełdzio ad1. index.php to bootstrap, czyli plik, który odp... 5.02.2010, 14:27:13
Kikert OK, jeszcze jedno pytanie (ad2.) - jak to wygląda?... 5.02.2010, 14:59:44
blooregard Widok juz nic nigdzie nie przekazuje, wywołuje jed... 5.02.2010, 15:05:55
Kikert Czyli bootstrap inicjuje kontroler, kontroler modu... 5.02.2010, 15:07:36
Mephistofeles Sprawdź sobie jak to robią popularne frameworki. 5.02.2010, 15:10:18
webdice Masz model, kontroler i widok. Kontroler pobiera d... 5.02.2010, 15:12:59
Zyx Kontroler nie przekazuje żadnych danych z modelu d... 5.02.2010, 15:19:20
blooregard Kurczę, Zyx, teraz żes mnie zastrzelił
http://ww... 5.02.2010, 15:30:47
Zyx Mniej więcej właśnie o to chodzi. Architektura MVC... 5.02.2010, 16:51:15
Kikert Ciekawa dyskusja się tutaj wywiązała, ale jako lai... 5.02.2010, 18:06:56
blooregard @Zyx, dziękuję Ci bardzo za wyjaśnienie. W wolnej ... 5.02.2010, 22:53:03
batman @Zyx
Wszystko ładnie pięknie, ale to tylko teoria.... 5.02.2010, 23:22:17
darko To zacznijmy od tego, że nie ma jednej, a nawet je... 5.02.2010, 23:39:33
marcio CytatKontroler nie przekazuje żadnych danych z mod... 6.02.2010, 00:07:11
Zyx Rozmawiamy na poziomie aplikacji WWW w ogóle, pozi... 6.02.2010, 07:47:57
batman ~Zyx
Musisz pamiętać, że PHP != Java i impleme... 6.02.2010, 08:44:54
marcio Cytat(batman @ 6.02.2010, 08:44:54 ) ... 6.02.2010, 12:17:13
dr4ko Pierwotnie MVC został określony tak jak przedstawi... 12.02.2010, 11:26:32
thek Ja w swoich pracach najczęściej korzystam z modelu... 12.02.2010, 12:50:12
cojack Cytat(Kikert @ 5.02.2010, 15:07:36 ) ... 12.02.2010, 19:48:43
Crozin Cytat@Zyx nie zgadzam się z Twoją wizją MVC.Nie lu... 13.02.2010, 15:03:01
marcio CytatNie lubię takich trochę personalnych docinków... 13.02.2010, 15:25:12 
-=Peter=- Cytat(marcio @ 13.02.2010, 15:25:12 )... 13.02.2010, 16:08:41
Cysiaczek @Zyx - Co do pobierania danych przez widok: http:/... 1.03.2010, 09:59:43
marcio Jak dla mnie to kontroler powinien zawierac cala l... 1.03.2010, 12:20:46
WiruSSS Witam
Przepraszam, że odświeżam wątek, ale to chy... 22.03.2012, 02:29:50
viking PHP jest stosowane w widoku do prostego wyświetlan... 22.03.2012, 17:55:09
thek Najprostsze rozwiązanie? Kontroler przekazuje do w... 22.03.2012, 17:56:19
WiruSSS tak myślałem robić jednak mam odczucie że taki spo... 22.03.2012, 23:37:55
viking Tylko pamiętaj że szablony są i tak kompilowane do... 23.03.2012, 06:48:10 ![]() ![]() |
|
Aktualny czas: 11.06.2026 - 00:16 |