Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> MVC - kilka pytań teoretycznych
Ziels
post
Post #1





Grupa: Zarejestrowani
Postów: 235
Pomógł: 2
Dołączył: 30.06.2006

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


Witam,

Zapoznaję się właśnie z czymś takim jak MVC, napisałem sobie trochę kodu który przypomina frameworka (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Problem w ty że gdzie o tym nie poczytam to coś innego piszą - jakie powinny być relacje widoku modelu i kontrolera?

Moje pojęcie jest takie:

Kontroler wybiera odpowiedni model, wykonuje wszystkie operacje logiczne związane z daną akcją po czym pobiera odpowiednie dane z modelu i je przekazuje do widoku (żeby operować na ładnych przykładach niech będzie to lista newsów) który to widok z tych danych generuje kod html dla użytkownika.

Model odpowiada za operacje na danych, ich zmianę oraz pobieranie. Jeśli kontroler musi np. usunąć newsa to wywołuje odpowiednią metodę modelu.

Widok operuje jedynie na danych przekazanych mu przez kontroler, nie ma dostępu do modelu.


Czy ta filozofia jest prawidłowa? Na wikipedii w schemacie widok ma połączenie z modelem, ale w tym momencie nie za bardzo rozumiem w jakim celu.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
radzik_w
post
Post #2





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 5.05.2007

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


Witam,

jestem nowym użytkownikiem i mało wiem o MVC ale jesli moge sie wypowiedziec to wg mnie powinno wyglądać to tak(na prostym przykładzie newsow który podałeś):

1. MODEL - tworzysz sobie klase newsow w ktorej wpisujesz rozne metody takie jak np updateNews(), addNews(), deleteNews(), checkNewsForm() itd ........ . Czyli w tej klasie posiadasz wysztko co jest niezbedne do obslugi newsow (wszystkie metody itd.)
2. CONTROLLER - Poprzez odpowiedni odwołanie z URL np za pomoca $_GET twoj system wybiera odpowiedni controller np usuwanie newsa, controller odwoluje sie do klasy News() a w niej do metod: checkExistsNews(), deleteNews() (czyli rola controllera jest wybranie odpowiedniej metody,co musisz recznie ustawic (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ), Controller na koniec swojego dzialanie przekazuje dane do np jakiegos systemu szablonow:$smarty->assign(); przekazujac modelowi rozne dane takie jak nazwe news ktory chcesz usunac itd., wybiera odpowiedni szbalon
3. View to wg mnie nic innego jak zwykly plik np. tpl lub nawet .php do ktorego contorller przekazuje dane ktore model ma wyswietlic.
Główna zasasda MVC jest to aby w modelu byl tylko kod php a w VIEW tylko html , w controlerze nie pamietam (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
jestem po pary glebszych wiec moge sie mylic (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ale zasada MVC jest odseparowanie od siebie tych 3 czesci Model View Controller

Ten post edytował radzik_w 11.07.2007, 23:34:22
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: 7.10.2025 - 00:44