![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 4.11.2019 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Pytanie dotyczy dobrej praktyki w stosowaniu MVC a dokładniej: a) widok - czy powinien zawierać elementy logiki - np: kontroler przekazuje do widoku dane -> widok sprawdza uprawnienia lub na podstawie uprawnień renderuje część danych (do których user ma uprawniania ) a resztę pomija ? Czy może powinno to wyglądać tak że kontroler przekazuje do widoku tylko te dane do których user ma uprawnienia a widok jakoś musi sobie poradzi z ewentualnym brakiem kompletu danych. (IMG:style_emoticons/default/cool.gif) w frame-workach php opartych o MVC przyjęło się że widok to zazwyczaj kod html. Czy dobrą praktyką będzie tworzenie widoków także dla metod które nie kończą się wyświetleniem strony ? Na przykład gdy wchodzimy pod jakiś URI to kontroler uruchamia metodę renderującą (zazwyczaj html) ale gdy strzelamy pod URI ajaxem to czy powinien istnieć specjalny widok zwracający json czy wystarczy w kontrolerze echo json_encode($output); |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 381 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Raczej nie powinieneś przekazywać danych do których użytkownik nie ma uprawnień. Jeśli jakimś sposobem się wyświetlą to co wtedy? Zawsze można podzielić szablony na mniejsze fragmenty i w nich sprawdzać dane uprawnienia.
A kto powiedział że ma być jeden kontroler? Może być jakiś ogólny oraz np JsonController. W przypadku ajaxa odpowiedź może być dowolnego typu json, html, xml dlatego nie ma jednoznacznej odpowiedzi co konkretnie stosować. Możesz mieć jakiś system szablonów który świetnie radzi sobie z XML i czemu miałbyś rezygnować z niego, ale może to być prosta odpowiedź gdzie nawet sam kontroler wygeneruje te kilka linijek kodu. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 13:01 |