Practică pe controlere și vizualizări în MVC

Задание 1

Creați un controller Product, în constructorul căruia va fi setat următorul array:

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

În controllerul Product faceți o acțiune show, care va afișa informația despre un singur produs. Lăsați această acțiune să proceseze adrese de următoarea formă: /product/:n/, unde parametrul va fi numărul produsului în array. Faceți astfel încât accesarea pe astfel de adrese să afișeze prin var_dump datele acelui produs care a fost solicitat prin linia de adresă.

Задание 3

Adăugați la acțiunea creată o vizualizare. Utilizați pentru aceasta următorul markup:

html<h1>Produsul "product1" din categoria "category1"</h1>
<p>
  Preț: 100$, cantitate: 5
</p>
<p>
  Cost (preț * cantitate): 500$
</p>

Datele din acest markup corespund primului produs. Faceți astfel încât vizualizarea să afișeze datele acelui produs care a fost solicitat prin linia de adresă.

Задание 4

În controllerul Product faceți o acțiune all, care va afișa lista tuturor produselor sub forma unui tabel HTML. Lăsați această acțiune să proceseze adresa /products/all/.