![]() |
![]() |
![]() ![]()
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 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 14:55 |