BE 1.4 MVC
Table of contents
PHP MVC är ett pattern/mönster som separerar applikationsdata och logik (model) från det vi ser (view). MVC står för Model, View, Controller. Controllen styr kommunikationen mellan model och view.
Filstruktur
MVC - ett sätt att organisera sitt project.
Tre mappar i projektets root:
- models - filer som hanterar och behandlar data
- views - innehåller mallar (templates) för hur vår data ska representeras visuellt
- controllers - hanterar och bearbetar requests, avgör vilken data som ska användas och hur en lämplig template ska renderas
MVC exempel när en användare registrerar sig på en HTML-sida
- Användaren skickar användarnamn och löserord till servern (URL:
localhost/create-user.php
) - Router i
index.php
tar emot requesten (OBS! i en router så går alla filer till samma URL, d.v.s. index) - Routern skickar vidare till en controller
- Controllern anropar models metod
create_user
- Controllern ger sen tillbaka ett svar till användaren genom att anropa en view
Model
- Hanterar allt som har med databaser att göra
- En model refererar till en tabell, t.ex. så refererar dokumentet
user.php
till tabellenusers
- När vi har hämtat datan från tabellen för en
user
och sparat i ett PHP-objekt (associativ array), då har vi ett model-objekt - All hantering för CRUD i databasen ska ligga i varje
model
- En model/fil för varje tabell vi har
Controller
- Här ligger logiken för allt vi vill göra
- Spindeln i nätet
- Hanterar data som skickas in av användaren (förfrågan), då anropar controllern modelen
- Funktioner för att åstakomma någonting/utföra något
View
- Allt vi ser på skärmen, som “skickas tillbaka” (data)
- Antingen HTML eller JSON
- En view kan t.ex. vara HTML; “grattis du är registrerad på sidan”
- Får sin data via model
Router
- Dirigerar vilken controller som ska köras
- Finns ofta i
index.php
- Skickar vidare koden dit den ska