Harjoitus kontrollereista ja näkymistä MVC:ssä

Задание 1

Luo kontrolleri Product, jonka konstruktorissa asetetaan seuraava taulukko:

php<?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',
    ],
  ]
?>
Задание 2

Tee kontrolleriin Product toiminto show, joka näyttää tiedot yhdestä tuotteesta. Anna tämän toiminon käsitellä seuraavanlaisia osoitteita: /product/:n/, jossa parametrina on tuotteen numero taulukossa. Tee niin, että näihin osoitteisiin meneminen tulostaa var_dump:lla sen tuotteen tiedot, jota pyydettiin osoiterivillä.

Задание 3

Lisää luodulle toiminnalle näkymä. Käytä tähän seuraavaa HTML:ää:

html<h1>Tuote "product1" kategoriasta "category1"</h1>
<p>
  Hinta: 100$, määrä: 5
</p>
<p>
  Arvo (hinta * määrä): 500$
</p>

Tiedot tässä HTML:ssä vastaavat ensimmäistä tuotetta. Tee niin, että näkymä näyttää sen tuotteen tiedot, jota pyydettiin osoiterivillä.

Задание 4

Tee kontrolleriin Product toiminto all, joka tulostaa listan kaikista tuotteista HTML-taulukkona. Anna tämän toiminon käsitellä osoitetta /products/all/.