model-view-controller architectuur

Model-View-Controller architectuur

(MVC)
1 / 19
next
Slide 1: Slide
InformaticaMiddelbare schoolvwoLeerjaar 6

This lesson contains 19 slides, with interactive quizzes and text slides.

time-iconLesson duration is: 60 min

Items in this lesson

Model-View-Controller architectuur

(MVC)

Slide 1 - Slide

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 - Slide

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 - Slide

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

Models
Views
en
Controllers

Slide 4 - Slide

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 - Slide

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 - Slide

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 - Slide

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 - Slide

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

Slide 9 - Slide

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

Slide 10 - Open question

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 - Quiz

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 - Quiz

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 - Quiz

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 - Quiz

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

Slide 15 - Open question

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

Slide 16 - Open question

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

Slide 17 - Open question

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

Slide 18 - Open question

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 - Slide