Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Implementacja MVC, Kilka pytań/niedomówień
Uriziel01
post
Post #1





Grupa: Zarejestrowani
Postów: 307
Pomógł: 37
Dołączył: 9.11.2010
Skąd: Zielona Góra

Ostrzeżenie: (0%)
-----


Witam serdecznie.
Nie wiem czy nie do końca zrozumiałem tutaj logikę MVC ale mam kilka pytań dotyczących widoku i modelu.
Ciag wywołania strony wygląda u mnie tak:
-.htaccess przekierowuje na index.php
-tam inicjuje 'router' i wg. danych na wejściu (GET i POST) dobieram odpowiedni kontroler i akcję
-inicjuje kontroler w nim uruchamiam dana akcję (czy tez ta akcja powinna znaleźć się w modelu ? Już sam nie wiem ?)
-pobieram z modelu potrzebne do danej akcji dane z bazy danych
-inicjuje odpowiedni widok i przekazuje do niego zwrócone dane

1)Co jeżeli na stronie mogę mieć przykładowo stopkę ale mogę jej też nie mieć, skąd model ma wiedzieć czy ma pobierać potrzebne do niej dane czy też nie ? Chyba powinienem wywoływać pobranie tych danych dopiero przez widok gdy już wiem co dany widok zawiera i czego używa ?
2)Do czego tak właściwie jest mi tutaj potrzebny model, jest to jakaś kolejna warstwa abstrakcji, ale tak naprawdę dlaczego jest mi niezbędna ? jaka logika powinna się w nim znaleźć oprócz odczytywania danych z bazy danych, chyba nie poprawne jest przekazywanie listy danych do przekazania z kontrolera ?

Troszkę się rozpisałem, ale nie chciałem pozostawiać żadnych niedomówień. (IMG:style_emoticons/default/graduated.gif)

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Tu jest właśnie różnica pomiędzy MVC i MVP.
W MVC było by tak: Kontroler wywołuje Widok, Widok wie co potrzebuje i wywołuje odpowiedni dla siebie Model lub Modele.
W MVP: Kontroler (a właściwie Prezenter) wywołuje Widok i konieczny dla niego Model (lub modele) i troszczy się o to, by do Widoku trafiły wymagane dane z Modelu. Musi on pośredniczyć w tej wymianie, gdyż Widok sam z siebie nie ma połączenia z Modelami inajczęściej nic o nich nie wie. Tyko wymaga określonych danych.

Tak więc w sieci szumne pisanie o MVC nie ma w zasadzie racji bytu i spotyka się je w zasadzie jedynie w aplikacjach desktopowych. Sieć ma całość akcji w obrębie jednego żądania i koniec. Każde żądanie jest więc w sumie kolejnym procesem, a nie jednym ciągłym.
Go to the top of the page
+Quote Post

Posty w temacie


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: 4.10.2025 - 14:05