![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 8.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Od niedawna zaczalem interesowac sie MVC. Ale w dalszym ciagu nie wiem czy dobrze rozumuje istote MVC. Dlatego postanowilem napisac prosty (powtarzam, prosty, system) zeby sprawdzic czy ide w dobrym kierunku. Prosze o komentarze, jesli chodzi o sam schemat i istote wzorca MVC. Na poczatek przedstawie strukture katalogow: ./ - katalog glowny actions/ - katalog przechowujacy pliki .ini do wybranej akcji mozemy podac co ma zostac wykonane nastepnie configs/ - katalog z plikami konfiguracyjnymi - narazie nie uzyty controllers/ - katalog z kontrolerami - narazie tylko kontroler glowny models/ - katalog z plikami modeli views/ - katalog z plikami widokow index.php - plik glowny ktory uruchamia kontroler Zaczynamy od poczatku - kod kontrolera:
Zakladamy, ze uzytkownik wpisal: index.php?view=Users&action=addUser&userName=root kontroler laduje wiec model UsersMod:
i wykonuje w nim akcje zmianu danych, a poniewaz akcja addUser() posiada plik konfiguracjny z wywolaniem jako kolejnej akcji countUsers wywoluje kolejna akcje. No i pozostaje wyswietlenie widoku Users:
Co sadzicie o tym? Czy dobrze rozumuje istote MVC? Zapraszam do dyskusji... |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 698 Pomógł: 3 Dołączył: 28.03.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Żeby rozwiać wątpliwości - blueprints mvc. Sam w dyskusjach staram się nie używać słowa model - wydaje mi się trochę sztuczne... (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Wywołujemy akcje, dane pobieramy z bazy (poprzez DAO), operacje wykonujemy na danych. Wszystko to należy do modelu, a jednak można uniknąć tego słowa (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Potęga wzorców projektowych tkwi właśnie w tym, że nie są ograniczone implementacją (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Jedyne czego wymaga wzorzec MVC to oddzielenie warstwy prezentacji od logiki aplikacji i danych. To w jaki sposób to osiągniesz, to Twoja sprawa. Oczywiście w większości frameworków widujemy podobne implementacje wzorców Front Controller, Intercepting Filter itp... Jest to związane z praktycznością tych wzorców oraz ze ścisłym pozwiązaniem ich z MVC. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 09:04 |