Kontroler w MVC
Słownik kwalifikacji AUD.05 - Realizacja projektów graficznych i multimedialnych
Kontroler to część aplikacji internetowej odpowiedzialna za sterowanie jej działaniem. Przyjmuje żądanie użytkownika, decyduje, co należy wykonać, komunikuje się z modelem i wybiera widok, który zostanie zwrócony użytkownikowi.
Najczęściej pojęcie kontrolera występuje we wzorcu architektonicznym MVC (Model–View–Controller), czyli Model–Widok–Kontroler.
Rola kontrolera
Kontroler:
- odbiera akcję użytkownika, np. kliknięcie przycisku lub wysłanie formularza,
- analizuje adres URL i parametry żądania,
- wywołuje odpowiednie operacje w modelu,
- decyduje, jaki widok ma zostać wyświetlony,
- przekazuje dane do widoku.
Przykład działania
Użytkownik wchodzi na stronę logowania i wysyła formularz. Kontroler odbiera login i hasło, przekazuje je do modelu odpowiedzialnego za sprawdzenie danych, a następnie wybiera widok: panel użytkownika albo komunikat o błędzie.
Użytkownik → Kontroler → Model → Kontroler → Widok
Kontroler a model i widok
Model przechowuje dane i logikę biznesową, np. informacje o użytkownikach. Widok odpowiada za prezentację danych, np. stronę HTML. Kontroler łączy te elementy i steruje przepływem działania aplikacji.
W pytaniach egzaminacyjnych, jeśli pojawia się sformułowanie „część kodu sterująca aplikacją internetową”, najczęściej chodzi właśnie o kontroler.