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: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%)
|
@sanchoo
No i co za różnica że model nie pobiera danych z DB tylko z katalogów? Zwraca listę, a skąd ją bierze to nie ważne, umie ją posortować. A pole w każdym rekordzie powinno mieć ten sam typ, co w tym przypadku wielkość ale tez jednostkę. Więc nadal to model powinien umieć posortować dane podstawowe. Czy je przefiltrować. @bim2 Czy mi się wydaje, czy możesz tylko z jednego modelu na raz korzystać? A do tego model musi wiedzieć jak przekazać dane do widoku, co powoduje że zmieniając widok, czy model musisz zmienić ten drugi. Aby zmienić model musisz zmienić akcję, więc jeszcze dodatkowo musisz ingerować w model, zamiast ustawić tylko odpowiednie przypisanie danych do widoku. Ciągle jest zależność między modelem a widokiem, a obaj zależą też od akcji, czyli masz wszędzie zależności, gdzie tu rozbicie gdzie MVC? Przecież ten wzorzec ma właśnie służyć do jak najmniejszej zależności i przenikania się warstw odpowiedzialnych za różne rzeczy. |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 161 Pomógł: 1 Dołączył: 11.02.2007 Skąd: Kraków Ostrzeżenie: (0%)
|
@sanchooA do tego model musi wiedzieć jak przekazać dane do widoku, co masz namysli przez to?? Pytam model odpowiada... nie wazne czy zapytam go zapytam z widoku czy kontrolera.. model tylko wyrzuca... niektore dane potrzebuje pobrac aby pozniej wykorzystac do edycji.. wtedy robie to w kontrolerze... jesli np dodam usera model mi zwraca OK DODALEM! i kontroler to daje do widoku... Powiedzmy ze mam jakas liste firm w select to widok u mnie wywoluje funkcje z modelu "podaj mi liste" i laduje odrazu do widoku... Narazie jest ok.. abrdzo mozliwe ze sie rpzejade bo sie strasznie wszystko zagmatwa :/Cytat Typowo, widok powinien utworzyć instancje klas modelu i wywołać metody odpowiedzialne za pobranie odpowiednich danych z http://wortal.php.pl/phppl/wortal/artykuly...vc/elementy_mvc... jak mozna to inaczej interpretowac?Cytat Należy jednak pamiętać, że widok nie jest szablonem (lub raczej zbiorem szablonów). Widok to przede wszystkim kod, który "wyciąga" z modelu potrzebne dane, natomiast nic nie stoi na przeszkodzie, aby widok wykorzystywał wewnętrznie szablony.
|
|
|
|
MadHatter [mvc]poraz kolejny... 21.07.2007, 18:54:09
menic ech....
Ile razy to jeszcze będzie wałkowane?
Jes... 21.07.2007, 20:56:12
Cysiaczek http://forum.php.pl/index.php?showtopic=69281... 21.07.2007, 21:13:17
MadHatter Bardzo dziekuje, tego watku nie wygrzebalem, coz w... 21.07.2007, 23:37:39
sanchoo no to ja ma pytanie ... z klasy [PHP] pobierz, pla... 13.08.2007, 12:12:12
Cysiaczek Przyjrzyj się definicji swojej klasy C, wogóle nap... 13.08.2007, 12:19:38
sanchoo faktycznie zle napsialem.. napsialem to z palca z... 13.08.2007, 13:04:01
Sedziwoj @sanchoo
Ty może już nie pisz, albo najpierw spraw... 13.08.2007, 17:25:08
sanchoo hehe tak jak mowilem chodzilo o kokreny przyklad ... 13.08.2007, 20:35:48
Sedziwoj @sanchoo
Co ma działać, to że to co piszesz jest n... 13.08.2007, 22:19:17
sanchoo Cytatto ciezko zczaic o co komus chodzi... moze to... 14.08.2007, 07:21:24
sanchoo MVC a walidajca formularzy
Chce zamknac walidacje... 24.08.2007, 11:48:35
menic Może TO ci pomoze. Na koncu jest przykład jak u si... 24.08.2007, 11:57:43
Speedy CytatGłówna zasasda MVC jest to aby w modelu byl t... 26.08.2007, 23:43:20 
sanchoo Cytat(Speedy @ 27.08.2007, 00:43:20 )... 27.08.2007, 13:38:18
menic @up: no czekam jaki to to jest wzorzec Bo banialu... 27.08.2007, 14:13:53
sanchoo menic dzieki za info.
Zrobilem to mniej weicej tak... 27.08.2007, 14:16:39
Cysiaczek Chcesz powiedzieć, że zrobiłeś Model extends Valid... 27.08.2007, 14:32:17
sanchoo chcialem waldiacje zamnac w jedenj klasie ... tak ... 27.08.2007, 14:42:26
Cysiaczek Nie chodzi mi o to, że umieszczenie walidacji w mo... 27.08.2007, 14:47:03
menic Pomijając kwestie nazewnictwa wzorców... U mnie va... 27.08.2007, 14:50:02
sanchoo .. w tej chwili wydaje mi sie to... na jedno wyjdz... 27.08.2007, 14:51:14
menic Z tego co zauwazyłem to validacja, validacji nie r... 27.08.2007, 14:57:33
bim2 CytatOpisów i implementacji MVC jest tyle ilu prog... 27.08.2007, 17:33:21 
Sedziwoj @bim2
Coś chyba masz pokopane... albo źle rozumiem... 27.08.2007, 20:49:01
sanchoo "Kontroler moze pobierac z modelu i przekazyw... 28.08.2007, 07:45:45
Sedziwoj @sanchooPamiętaj, że widokiem może ... 28.08.2007, 08:29:14
sanchoo Wiem ze baza posortuje szybciej... tylko tu jest i... 28.08.2007, 08:49:00
bim2 @Sedziwoj
Akcja u mnie to nie kontroller... rozdzi... 28.08.2007, 10:20:38
Ludvik CytatTu pojawil mi sie kolejny problem: gosc zarzy... 28.08.2007, 11:33:35
sanchoo No dokładnie tam zrobilem ...
Dzieki za artykul pr... 28.08.2007, 13:21:50
menic Przy tej dyskusji należy podkreśli... 28.08.2007, 14:36:04 
Sedziwoj @menic
Mylisz się da sie to zrobić, bo masz takie ... 28.08.2007, 14:43:44
bim2 Mogę korzystać z ilu modeli/widoków chce. I jak zm... 28.08.2007, 14:43:48
sanchoo ... a ja mysle ze warto uslyszec inne opinie Przy... 28.08.2007, 14:50:16
menic @Sedziwoj: do czynienia z propelem 1.3 nie miałem,... 28.08.2007, 15:10:51 
Sedziwoj Cytat(menic @ 28.08.2007, 16:10:51 ) ... 28.08.2007, 15:56:54
sanchoo Mam 2 kolejne problemy
... sa zamienne rozwiazani... 30.08.2007, 07:29:03 ![]() ![]() |
|
Aktualny czas: 21.11.2025 - 22:27 |