![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 7 Dołączył: 16.07.2007 Skąd: Gorzów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
1. Kontroler ustala rodzaj żądania:
a) POST -> model przeprowadza walidację(sprawdza czy wartości z $_POST znajdują się w bazie): jeśli prawda, model loguje użytkownika (zdefiniowanie zmiennych sesyjnych) -> widok wyświetla stronę autoryzacji z nazwą zalogowanego użytkownika i hiperłączem do wylogowania; jeśli fałsz, kontroler definiuje zmienną z błędem, widok wyświetla formularz logowania z wygenerowanym błędem, który został mu przekazany b) GET -> określenie żądania: żądanie wylogowania -> model wylogowuje użytkownika, niszczy sesję usera [sesje oparte na mysql], kontroler robi przekierowanie; żądanie domyślne: widok wyświetla formularz logowania Czy jest to zgodne z MVC? Mam pełno wątpliwości co do formularzy a zwłaszcza zastanawia mnie czy to model ma filtrować wprowadzane zmienne (trim() itd) a następnie je walidować. Ten post edytował Luneth 10.08.2010, 21:19:48 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 165 Pomógł: 6 Dołączył: 17.06.2005 Ostrzeżenie: (0%) ![]() ![]() |
Zdecydowanie nie.
Model nie jest odwzorowaniem części decyzyjnej tylko logiki dostępu do danych. Model nie powinien wylogowywać uzytkownika, a już napewno nie powinien niszczyc sesji. Powinien to robic kontroler z co najwyzej użyciem Modelu (w przypadku gdy Model ten odwzorowuje dane sesyjne). Model nie powinien również nic filtrować. Od filtrowanie są filtry, które powinny zostać nałożone na dane w kontrolerze. Co masz na mysli mowiac o walidowaniu? Walidowanie to sprawdzanie poprawności danych z dopuszczalna trescia i zajmują sie tym walidatory w kontrolerze nalozone na formularz. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 7 Dołączył: 16.07.2007 Skąd: Gorzów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem czy to nie jest naginanie teorii, ale część decyzyjna pozostaje w kontrolerze, tylko metody od tego znajdują się w modelu - ale powinny znajdować się jednak w kontrolerze, tak? (IMG:style_emoticons/default/smile.gif) Co bardziej zabawne miałem zrobione tak jak Ty mówisz, zanim przyjąłem tą (jak teraz się okazuje) mylną koncepcję (IMG:style_emoticons/default/biggrin.gif)
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 165 Pomógł: 6 Dołączył: 17.06.2005 Ostrzeżenie: (0%) ![]() ![]() |
Metody mogą się znajdować części Modelu, ale tez nie konkretnie w samym modelu odwzorowującym dane tylko w jakiejs wartstwie posredniej miedzy Kontrolerem i Modelem czyli np. Service. Mimo wszystko Service ten odpowiada jedynie za wybranie danych i przekazanie ich do Kontrolera, a cała reszta odbywa sie w kontrolerze.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 26.09.2025 - 01:18 |