Praktyka dotycząca kontrolerów i widoków w MVC

Задание 1

Utwórz kontroler Product, w konstruktorze którego zostanie ustawiona następująca tablica:

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

W kontrolerze Product utwórz akcję show, która będzie wyświetlać informacje o jednym produkcie. Niech ta akcja obsługuje adresy następującego typu: /product/:n/, gdzie parametrem będzie numer produktu w tablicy. Spowoduj, aby odwołanie pod takie adresy wyświetlało za pomocą var_dump dane tego produktu, który został żądany przez pasek adresu.

Задание 3

Dodaj do utworzonej akcji widok. Użyj do tego następującego kodu HTML:

html<h1>Produkt "product1" z kategorii "category1"</h1>
<p>
  Cena: 100$, ilość: 5
</p>
<p>
  Wartość (cena * ilość): 500$
</p>

Dane w tym kodzie HTML odpowiadają pierwszemu produktowi. Spowoduj, aby widok wyświetlał dane tego produktu, który został żądany przez pasek adresu.

Задание 4

W kontrolerze Product utwórz akcję all, która będzie wyświetlać listę wszystkich produktów w postaci tabeli HTML. Niech ta akcja obsługuje adres /products/all/.