Praktijk op controllers en weergaven in MVC
Maak een controller Product aan, in de constructor
waarvan de volgende array wordt ingesteld:
<?php
$this->products = [
1 => [
'name' => 'product1',
'price' => 100,
'quantity' => 5,
'category' => 'category1',
],
2 => [
'name' => 'product2',
'price' => 200,
'quantity' => 6,
'category' => 'category2',
],
3 => [
'name' => 'product3',
'price' => 300,
'quantity' => 7,
'category' => 'category2',
],
4 => [
'name' => 'product4',
'price' => 400,
'quantity' => 8,
'category' => 'category3',
],
5 => [
'name' => 'product5',
'price' => 500,
'quantity' => 9,
'category' => 'category3',
],
]
?>
Maak in de controller Product een actie
show, die de informatie van
één product zal tonen. Laat deze actie adressen
van het volgende type verwerken: /product/:n/,
waarbij de parameter het productnummer in de array is.
Zorg ervoor dat toegang via dergelijke adressen
via var_dump de gegevens toont van dat
product dat werd opgevraagd via de adresbalk.
Voeg een weergave toe aan de gemaakte actie. Gebruik hiervoor de volgende opmaak:
<h1>Product "product1" uit categorie "category1"</h1>
<p>
Prijs: 100$, aantal: 5
</p>
<p>
Waarde (prijs * aantal): 500$
</p>
De gegevens in deze opmaak komen overeen met het eerste product. Zorg ervoor dat de weergave de gegevens toont van het product dat werd opgevraagd via de adresbalk.
Maak in de controller Product een actie
all, die een lijst van alle
producten weergeeft in de vorm van een HTML-tabel. Laat deze actie
het adres /products/all/ verwerken.