![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 1 Dołączył: 15.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam pytanie czysto teoretyczne. Buduje strone i chce ja oprzec na wzorcu MVC. Wspieram sie Smarty i Pear przy tym. I teraz moje pytania. 1. Czy za widok maja byc odpowiedzialne tylko szblony smarty czy tworzyc do niego osobna klase? 2. Poza przypisaniem danych ktore uzyskuje z modelu, podstrony roznia sie tez wygladem(dokladnie tlami glownej tresci), jaka czesc MVC powinna byc odpowiedzialna za ustwienie przykladowego tla? Rozwazam dwa przypadki, nie wiem jednak ktory bylby "najczystrzy" jesli chodzi o zalozenia ww wzorca. Pierwszy to to ze poszczegolne metody kontrolera przypisauja do szablonu smarty, dane z modelu oraz w kazdje metodzie jest deklarowana zmienna odpowiadajaca za tlo strony i tak tez przypisywana do szablonow. Drugie rozwiazanie to takie, ze w akcjach kontrolera wogole nie zajmu je sie ustawianiem tla a tylko wyborem widokow. W takim przypadku jednak ilosc szablonow musialbym odpowiednio rozmnozyc. Czytam dosc spro na temat mvc, moje doswiadczenie z frameworkiem cakePHP wcale nie rozwialo wszelkich watpliwosci jednak, przynajmniej tych teoretycznych. Rozumiem ze wzorzec jest raczej czyms abstrakcyjnym i elastycznym niemniej na forum znalazlem taka definicje widoku: Cytat Główna zasasda MVC jest to aby w modelu byl tylko kod php a w VIEW tylko html Natomiast w jednym z rtykulow na wortalu opis brzmi juz tak: Cytat Widok powinien wykorzystywać model do pobrania danych, które będą wyświetlone. Typowo, widok powinien utworzyć instancje klas modelu i wywołać metody odpowiedzialne za pobranie odpowiednich danych. Tym, czego należy się wystrzegać w widoku, jest modyfikacja danych. Widok nie powinien zmieniać w żaden sposób stanu aplikacji. Powinien np. wyświetlać listę użytkowników, ale nie powinien ich dodawać ani usuwać. Rozbieznosc jest wiec dosc spora... Jak najlepiej wedug Was zarac sie za to, w przypadku niewielkiej aplikacji? Z gory dzieki i pozdrawiam! |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 161 Pomógł: 1 Dołączył: 11.02.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
"Kontroler moze pobierac z modelu i przekazywac do widoku, moze rowniez tylko wywolac odpowiedni widok ktory sam sobie dane z modelu zaciagnie, "
(...) Ktos inny.. "Jestem zdania że widok powinien dostać dane i tylko je wyświetlić, zero interakcji z innymi elementami." Chyba dokładnie jest tyle interpretacji co programistow. Co do: @bim2 Widok powinien dostawać dane a nie je pobierać, Narazie ma tak ze widok moze pobierac sam dane z modelu jest to sporadyczne... np jak potrzebuje login po id ... ewentualnie wyswietlic posortowana liste plikow wedlug rozmiaru.... kontroler mu przekauzje np "sort=size" a widok ma odpowiednia klase ktora sobie posortuje przed samym wyswietleniem. Moja aplikacja sie rozrasta i powoli zaczyna sie troche syfic.. z tym widokiem... Tylko teraz mam duze ALE do samego siebie... skoro u mnie sa jeszcze smarty.. to wychodzi na to ze jako tako widok to tpl to co to jest Widok jako php ktory odpowiada za odpwoednie ulozenie danych i odpalenie smartow (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Zaraz wyjdzie na to ze daleki jestem od MVC.... Ten post edytował sanchoo 28.08.2007, 07:46:41 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 15:17 |