Skip to content

51. Wzorzec MVC — jak oddzielić logikę od widoku w PHP

This content is not available in your language yet.

Wzorzec MVC w PHP

MVC (Model-View-Controller) to wzorzec architektoniczny rozdzielający aplikację na trzy warstwy. Kod PHP mieszający zapytania SQL, logikę biznesową i HTML w jednym pliku to „spaghetti code” — trudny do testowania i utrzymania. MVC eliminuje ten problem przez jasny podział odpowiedzialności.

  • Frameworki PHP (Laravel, Symfony, CodeIgniter) są oparte na MVC
  • Każda firma szuka programistów znających wzorce architektoniczne
  • Kod MVC jest testowalny — można testować Model bez uruchamiania przeglądarki
  1. Wyjaśnić czym jest każda z trzech warstw (Model, View, Controller)
  2. Pokazać przepływ żądania HTTP przez trzy warstwy
  3. Porównać kod bez MVC i z MVC
  4. Omówić zalety wzorca dla pracy zespołowej
  1. Definicja MVC — krótka historia i motywacja
  2. Model — odpowiada za dane i logikę biznesową
  3. View — wyświetla dane, nie zawiera logiki
  4. Controller — przyjmuje żądanie, wywołuje Model, przekazuje dane do View
  5. Router — punkt wejścia przekierowujący żądania do kontrolerów
  6. Przykład kodu: model + widok + kontroler w PHP
  7. Porównanie: kod bez MVC vs z MVC

Przykład 1

Klasa Model odczytująca dane z JSON

Przykład 2

Controller obsługujący żądanie GET/POST

Przykład 3

Widok PHP wyświetlający dane bez logiki
  1. Wstęp — problem kodu spaghetti
  2. Definicja MVC i trzy warstwy
  3. Przykład implementacji PHP
  4. Porównanie przed/po
  5. Zalety i wady wzorca
  6. Podsumowanie
  7. Bibliografia

Wzorce mają sens tylko z przykładami

Napisz kod najpierw, potem opisz go w opracowaniu. Przykład jest wart więcej niż akapit teorii.