Praktyka dotycząca kontrolerów i widoków w MVC
Utwórz kontroler Product, w konstruktorze
którego zostanie ustawiona następująca tablica:
<?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',
],
]
?>
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.
Dodaj do utworzonej akcji widok. Użyj do tego następującego kodu 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.
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/.