Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MVC] Kontroler - gdzie?
Kikert
post
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)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
batman
post
Post #2





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




@Zyx
Wszystko ładnie pięknie, ale to tylko teoria. A jak wiadomo od teorii do praktyki droga daleka. Implementacja MVC w "nowoczesnych" frameworkach, nie jest jakąś tam fanaberią kilku programistów, którzy zapragnęli być pionierami, tylko dobrze przemyślany wybór sztabu ludzi. Przy projektowaniu jakiegoś rozwiązania należy wziąć pod uwagę przede wszystkim koszt*. Jeśli coś można zrobić taniej (co nie znaczy, że gorzej), to dlaczego tego z takiej możliwości nie skorzystać?
Ślepe trzymanie się teoretycznych rozważań nie przyniesie nic dobrego. Spowoduje jedynie, że czas wykonania projektu znacząco się wydłuży, a niektóre funkcjonalności nie zostaną wdrożone, ponieważ "tak nie wolno".

W prawdziwym świecie MVC oznacza:

M - model, czyli klasa/zestaw klas operujących na danych. W projektach, które w rozwoju nie mają zaplanowanej migracji na inne źródło danych lub dodanie nowego źródła danych, mogą bezpośrednio na tym źródle operować. Dobrym zwyczajem jest jednak oddzielić model od bezpośredniego dostępu do danych.

V - widok. Miejsce, w którym wyświetlane są dane. I nic więcej.

C - kontroler. Odpowiada za przekazanie danych do widoku (nazywane inaczej wskazaniem z jakiego modelu skorzystać).

Obok "wielkiej trójcy" jest jeszcze takie coś jak dispatcher, po naszemu dyspozytor, czyli obiekt odpowiedzialny za odpowiednie rozprowadzenie ruchu między kontrolerami oraz za poprawne przekazanie danych, które zostały wysłane przez użytkownika.



* - nie chodzi tylko o pieniądze. Do kosztu można doliczyć czas, utrzymanie, zasoby serwera, itp.

Zanim zaczniesz/zaczniecie na mnie wieszać psy, za głoszenie herezji, określmy, czy rozmawiamy na poziomie akademickim, czy praktycznym. I w jakim kontekście? PHP, inny język, czy ogólnie.
Go to the top of the page
+Quote Post

Posty w temacie
- 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
- - Crozin   Ideę tego wzorca bardzo szybko i fajnie opisuje ob...   6.02.2010, 13:43:46
- - 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


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: 15.10.2025 - 23:22