Praxe na kontrolery a reprezentace v MVC

Задание 1

Vytvořte kontroler Product, v jehož konstruktoru bude nastaveno následující pole:

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

V kontroleru Product vytvořte akci show, která bude zobrazovat informace o jednom produktu. Nechť tato akce zpracovává adresy následujícího typu: /product/:n/, kde parametrem bude číslo produktu v poli. Zařiďte, aby přístup na tyto adresy zobrazoval pomocí var_dump data toho produktu, který byl požadován prostřednictvím adresního řádku.

Задание 3

Přidejte k vytvořené akci reprezentaci. Použijte k tomu následující verzi:

html<h1>Produkt "product1" z kategorie "category1"</h1>
<p>
  Cena: 100$, množství: 5
</p>
<p>
  Hodnota (cena * množství): 500$
</p>

Data v této verzi odpovídají prvnímu produktu. Zařiďte, aby reprezentace zobrazovala data toho produktu, který byl požadován prostřednictvím adresního řádku.

Задание 4

V kontroleru Product vytvořte akci all, která bude vypisovat seznam všech produktů ve formě HTML tabulky. Nechť tato akce zpracovává adresu /products/all/.