@ Rushino Masz tutaj dwie „aplikacje” - front-end (dla czytelników) i backend (dla administratorów). Dla każdej grupy funkcji masz kontroler.
Logowanie to taka grupa, która obejmuje generowanie formularza HTML (pola, wywoływanie widoku) oraz obsługę formularza (sprawdzanie poprawności, połączenie z modelem). Tak więc „login” to kontroler z dwiema czynnościami - generateForm i handleForm.
Strony są podzielone między aplikację frontonu - która po prostu pokazuje strony - i aplikację backendu, która umożliwia edycję, usuwanie, tworzenie i ewentualnie wyświetlanie ich w inny sposób. Strona główna to „tylko kolejna strona” w interfejsie, więc mieści się w kontrolerze stron. Na zapleczu jego logika może być na tyle inna, że uzasadnia to całkowicie inny kontroler.
Dla użytkowników - jeśli użytkownicy mogą się zarejestrować, będą potrzebować kontrolera frontendowego, ale jeśli nie, wszystko, co dotyczy użytkowników, znajduje się w backendie.
Zauważ, że każda z funkcji zaplecza może wymagać zarówno generatora, jak i modułu obsługi. Te rzeczy można jednak podzielić na pliki konfiguracyjne za pomocą wtyczki, która jest generatorem generycznych formularzy.
Podsumowując, wygląda to tak:
Frontend
Pages
View, Handle
Login
View, Handle
Users
Register (note that the handler can be the same as 'create' on the backend)
Contact
View
Handle
Backend
Users
Create, Delete, Edit, Update, View
Pages
Create, Delete, Edit, Update, View