Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 1 429 Pomógł: 195 Dołączył: 6.10.2008 Skąd: Kraków/Tomaszów Lubelski Ostrzeżenie: (0%)
|
Hey, mam pytania odnosnie MVC, zastanawiam sie czy kontroler i model ma dostep do widoku czy sam kontroler
http://athlan.pl/wp-content/uploads/mvc-model.png czy http://sysdm.googlecode.com/files/mvc.png Kolejne pytanie: jak wyglada struktura folderow takiej aplikacji? I czy jest zalezna od powyzszych zaleznosci pomiedzy widokiem a kontrolerem i modelem? I następne: takie proste sprawdzenie czy formularz zostal wyslany (nie chodzi o walidacje) czy nie ma byc obslugiwane w kontrolerze czy modelu? No to jeszcze jedno: mam ksiazeczke i tam jest takie cos jak router i dispatcher, ale oczywiscie jest tam 100 linijek kodu i zero zrozumialego opisu, moglby ktos wyjasnik do czego sluza? Nie sklamie jezeli powiem ze przelecialem juz wszystkie arty w naszym ukochanym polskim internecie ale procz zawilej teorii nie znalazlem odpowiedzi na te pytania, pozdrawiam |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%)
|
Co do różnych wariacji wzorca MVC: Temat: MVC Kontroler gdzie - jest sporo o tym jak ten MVC w "środowiskach webowych" wygląda/mógłby wyglądać.
Tutaj jest prosty i bardzo czytelny schemat działania MVC: http://upload.wikimedia.org/wikipedia/comm...llerDiagram.svg - w podlinkowanym wątku masz komentarz do tego obrazu. Cytat Napisales jak goscie na kursach nie wiele z tego zrozumialem, bez urazy :] No to jeszcze raz...Router W dużym skrócie: pobiera jakieś dane, przetwarza je i zwraca "surowe" dane uzyskane w procesie przetwarzania. Przykładowo taki router może rozpoznawać adresy URL i na ich podstawie określać co ma być wywołane (coś jak Apatche'owy moduł rewrite). Czyli router dostaje przykładowo dane: Temat: MVCKontroler Model Widok i na tej podstawie zwraca nam dane przykładowo: Kod controller: thread action: index lang: pl_PL params: id: 4868 Dispatcher Po edycji: Dispatcher zasadniczo odpowiedzialny jest za to by wywołać akcję (czyli korzystając z ReflectionAPI czy czegoś w stylu (niezbyt ładne)
EDIT: Jeszcze zapomniałem wspomnieć o strukturze katalogów. Generalnie to... jak Ci jest wygodniej. Warto tylko pamiętać by część danych była jednak jakoś rozdzielona. Czyli w miarę w jednym miejscu trzymasz sobie różne modele, gdzie indziej kontrolery, gdzie indziej jakieś biblioteki (chodzi o kod jakiś Doctrineów, Propelów, Swiftów, Symfonów, Zend Frameworków itp. itd.). Dobrze by też było by kod aplikacji był poza public_html - czyli w public_html trzymasz sobie jakieś obrazy, arkusze stylów, pliki JS. Trzymasz też jeden prosty plik PHP, który uruchamia całą aplikację - może on wyglądać nawet tak:
Ten post edytował Crozin 28.02.2010, 19:45:08 |
|
|
|
MateuszScirka [MVC]Kontroler-Model-Widok 27.02.2010, 21:57:36
LBO Router - tłumaczy dane wejściowe użytkownika - np.... 27.02.2010, 23:28:34
MateuszScirka Napisales jak goscie na kursach nie wiele z tego ... 28.02.2010, 13:36:32
LBO Wg mnie 1-wszy lepiej oddaje sens MVC.
Co do kata... 28.02.2010, 13:42:45
MateuszScirka no wlasnie, dazylem do stworzenia takiej aplikacji... 28.02.2010, 17:57:25
LBO Crozin, jak dla mnie, pomieszałeś trochę dispatche... 28.02.2010, 18:34:15
Crozin Cytatzeby dostep do bazy miala kazda klasa itp itp... 28.02.2010, 19:42:30
MateuszScirka zaczynam kumac, zaczalem czytac tematy, ktore zapo... 28.02.2010, 19:49:30
-=Peter=- I tak, i nie. Zazwyczaj we frameworkach jest tak, ... 28.02.2010, 20:54:35
MateuszScirka Cytatdyspozytor na podstawie parametrów routingu t... 28.02.2010, 21:15:23
skowron-line Masz sobie link który wygląda powiedzmy tak.
Kodin... 28.02.2010, 23:17:50
LBO Tylko, żeby było jasne - to Router (a raczej różne... 28.02.2010, 23:57:33
MateuszScirka Rozumiem juz chyba jak wygladaja zaleznosci pomied... 1.03.2010, 15:17:17
pablo89pl Np. obadaj sobie jka to wygląda w Kohanie www.koha... 1.03.2010, 16:09:17
skowron-line http://samuelsjoberg.com/archive/2007/01/url-dispa... 1.03.2010, 16:26:37
MateuszScirka skomplikowana ta klasa dispatchera w tym co podałe... 1.03.2010, 16:44:26
LBO Źle myślisz. zamiast uczyć się nowych technik i do... 1.03.2010, 16:50:20
MateuszScirka Nie wiem jak rozwiazac problem, chce metoda __auto... 1.03.2010, 19:11:58
Crozin 1) Sugerowałbym skorzystać z przestrzeni nazw, żeb... 1.03.2010, 19:23:39
MateuszScirka wydaje mi sie ze z nazewnictwem nie jest zle, zrob... 2.03.2010, 19:45:37
marcio W klasie controller masz metode run() ktora wywolu... 2.03.2010, 23:35:23
MateuszScirka Jak dam run() protected to chyba nie bede mogl jej... 3.03.2010, 18:53:54
marcio Cytat(MateuszScirka @ 3.03.2010, 18:53... 4.03.2010, 11:41:39
MateuszScirka No tak, rozumiem o co chodzi, powinienem dac metod... 4.03.2010, 13:02:45
marcio Cytat(MateuszScirka @ 4.03.2010, 13:02... 4.03.2010, 14:16:03 ![]() ![]() |
|
Aktualny czas: 11.06.2026 - 01:23 |