Witam, chciałbym się dowiedzieć jaka jest poprawna praktyka podczas tworzenia kontrolerów w modelu MVC (konkretnie w Laravelu jeżeli ma to znaczenie).
Przykład przedstawiający problem:
Załóżmy, że tworzymy serwis z ogłoszeniami / ofertami.
Każdy zalogowany użytkownik może tworzyć własne ogłoszenia, edytować je, i szukać ogłoszeń innych użytkowników i odpowiadać na nie.
Każdy niezalogowany użytkownik może tylko szukać ogłoszeń innych użytkowników.
Pytanie brzmi jaka powinna być poprawna struktura kontrolera / kontrolerów?
Czy powinienem utworzyć jeden kontroler, który posiada akcje dla wszystkich tych operacji:
- wyświetlanie listy ogłoszeń należących do zalogowanego użytkownika
- wyświetlanie formularza do tworzenia nowego ogłoszenia
- zapisywanie nowego ogłoszenia
- wyświetlanie konkretnego ogłoszenia
- wyświetlanie formularza do edycji
- zapisywanie zmian po edycji
- usuwanie
-
- lista wszystkich ogłoszeń (niezależnie od użytkownika)
- wyświetlanie formularza pozwalającego odpowiedzieć na dane ogłoszenie
- odebranie odpowiedzi na dane ogłoszenie
- wyświetlanie formularza pozwalającego na wyszukiwanie konkretnych ogłoszeń
Czy może powinny być to dwa(lub więcej) różne kontrolery? Jeżeli tak, to jak poprawnie je nazywać?
Dla jednego kontrolera byłoby to pewnie NoticeController a w przypadku gdy jednak poprawnym jest rozdzielenie ich? CreateNoticeController i FindNoticeController?