model-view-controller architectuur

Model-View-Controller architectuur

(MVC)
1 / 19
volgende
Slide 1: Tekstslide
InformaticaMiddelbare schoolvwoLeerjaar 6

In deze les zitten 19 slides, met interactieve quizzen en tekstslides.

time-iconLesduur is: 60 min

Onderdelen in deze les

Model-View-Controller architectuur

(MVC)

Slide 1 - Tekstslide

Leerdoelen
ik kan de delen van de MVC architectuur benoemen

ik kan de taken van deze onderdelen benoemen

ik weet waar ik deze onderdelen kan vinden
                                     met vergelijkingsoperatoren
                                             en samengestelde voorwaarden
                           

Slide 2 - Tekstslide

Architectuur
Net zoals een huis een architectuur heeft,

met muren, ramen, deuren, een dak

en alle verbindingen ertussen,

heeft een web applicatie dat ook.

Slide 3 - Tekstslide

MVC architectuur
Een web applicatie gebouwd volgens de MVC architectuur
heeft als bouwstenen

Models
Views
en
Controllers

Slide 4 - Tekstslide

De View
De View heeft 2 taken:

  1. Het tonen van gegevens en plaatjes (GET)
  2. Het de gebruiker mogelijk maken gegevens in te vullen in een formulier en deze gegevens op te sturen (POST)
Het Model
Het Model heeft 2 taken:

  1. Het ophalen van gegevens uit de database (GET)
  2. Het opslaan van gegevens in de database (POST)
De Controller
De Controller heeft 2 taken:

  1. Verzoeken van de View om gegevens op te halen (GET) doorgeven aan het Model en de van het Model teruggekregen gegevens tonen in een View.
  2. Verzoeken van de View om gegevens op te slaan (POST) doorgeven aan het Model en de van het Model teruggekregen gegevens tonen in een View.

Slide 5 - Tekstslide

De View
De View wordt gebouwd met HTML, CSS en PHP.

De variabelen die de Controller heeft gevuld met data ontvangen van het Model kunnen in de View worden getoond.
Het Model
Het Model wordt gebouwd met PHP en SQL.

  1. Voor het ophalen van data gebruikt het Model een SELECT query.
  2. Voor het opslaan van data gebruikt het Model
    een INSERT query (nieuw record) of
    een UPDATE query (bestaand record)
De Controller
De Controller wordt volledig gebouwd met PHP.

  1. De Controller vraagt aan het Model om data uit de database te halen en zet deze data in variabelen.
  2. De Controller "include" een View die de data in de variabelen toont.


Variabelen met data
GET: De Controller ontvangt data van de View in de superglobal variable $_GET. De Controller vraagt het Model om data en  plaatst deze data in variabelen en laat een View deze variabelen tonen.

POST: De Controller ontvangt data van de View in de superglobal variabele $_POST en geeft deze door aan het Model voor opslag in de database.

Slide 6 - Tekstslide

De MVC files voor categorieën
View: app/views/category.php

Controller: app/controller/CategoryControlller.php

Model: app/model/Category.php

Router: index.php

Slide 7 - Tekstslide

Opdracht 1
Open de Home Page van je scrum-team
https://vanheuven.nu/~povwo01
https://vanheuven.nu/~povwo02
https://vanheuven.nu/~povwo03
https://vanheuven.nu/~povwo04
https://vanheuven.nu/~povwo05
https://vanheuven.nu/~povwo06

Slide 8 - Tekstslide

Opdracht 1 (vervolg)
  1. Bovenin in het menu klik op de Categorieën link

Slide 9 - Tekstslide

Wat staat er in de URL om de Categorieën pagina op te vragen?

Slide 10 - Open vraag

Aan welke PHP file wordt het verzoek om de Categorieën pagina te tonen initieel doorgegeven?
A
app/model/category.php
B
app/views/category.php
C
app/controller/CategoryController.php
D
index.php

Slide 11 - Quizvraag

Door welk onderdeel van de MVC architectuur worden de categorieën getoond
A
Het Model
B
De View
C
De Controller
D
Weet ik nog niet

Slide 12 - Quizvraag

Door welk onderdeel van de MVC architectuur worden de categorieën opgehaald uit de database?
A
Het Model
B
De View
C
De Controller
D
Weet ik nog niet

Slide 13 - Quizvraag

Door welk onderdeel van de MVC architectuur worden verzoeken gecoördineerd?
A
Het Model
B
De View
C
De Controller
D
Weet ik nog niet

Slide 14 - Quizvraag

In welke functie in app/model/Category.php staat de SQL query voor het ophalen van alle categorieën?

Slide 15 - Open vraag

In welke functie in app/model/Category.php staat de SQL query voor het toevoegen van een categorie?

Slide 16 - Open vraag

In welke functie in app/model/Category.php staat de SQL query voor het bijwerken van een categorie?

Slide 17 - Open vraag

In welke functie in app/model/Category.php staat de SQL query voor het verwijderen van een categorie?

Slide 18 - Open vraag

Leerdoelen
ik kan de delen van de MVC architectuur benoemen

ik kan de taken van deze onderdelen benoemen

ik weet waar ik deze onderdelen kan vinden
                                     met vergelijkingsoperatoren
                                             en samengestelde voorwaarden
                           

Slide 19 - Tekstslide