![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 359 Pomógł: 12 Dołączył: 16.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
MVC jest oczywiście jest wzorcem na ściąganie danych i obróbkę i wyświetlenie. Ale co z całą resztą? Można napisać klasy do tylko potrzebnych rzeczy, ale gdzie je poumieszczać i gdzie dawać ich wywołania?
Powiedzmy, że mam taki układ folderów: Kod application |- models |- views |- controller I napisałem sobie klasę powiedzmy do obsługi sesji. Gdzie ją umieścić i gdzie wstawiać kod operujący na tej klasie? Mam na myśli bardziej ogólne rozwiązanie, bo nie wiem co robić z różnymi dodatkowymi klasami, które nie mają nic wspólnego z MVC, ale są mi równie potrzebne |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) ![]() ![]() |
Widok to też nie szablon. Klasyczny przykład: gdzie konfigurujesz stronicowanie listy wyników? W kontrolerze czy w widoku? Powinieneś w widoku. Gdzie konfigurujesz stronicowanie listy wyników? W szablonie, czy w aplikacji PHP? Powinieneś w aplikacji PHP. Widzisz? Mała sprzeczność. Warstwa prezentacji też ma swoją własną logikę. W przypadku niektórych szablonów jest ona istotnie zredukowana do "pobierz dane i przekaż do szablonu", ale sytuacje, gdy trzeba dodatkowo coś skonfigurować itd. są tak częste, że aż szkoda o tym mówić. Ponadto co w sytuacji, gdy chcesz wyprodukować dokument PDF np. z fakturą? Generacja PDF-a na podst. danych z modelu to zadanie widoku, a jeszcze nie widziałem systemu szablonów, który potrafiłby coś takiego sensownie wykonać. Odpowiedź na żądanie AJAX? Format JSON lub XML się kłania - też obie te rzeczy dużo łatwiej jest obsłużyć w sposób inny, niż szablony.
Sprawdzanie poprawności danych zasadniczo także powinno być zadaniem modelu, ponieważ przecież to model wie, jakie dane przetwarza i w jaki sposób. thek -> jaki AJAX? Widok PHP w środowisku WWW kończy pracę w momencie wysłania danych do przeglądarki. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 10:47 |