Практика върху контролери и изгледи в MVC
Създайте контролер Product, в конструктора
на който ще бъде зададен следният масив:
<?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',
],
]
?>
В контролера Product създайте действие
show, което ще показва информация
за един продукт. Нека това действие обработва
адреси от следния вид: /product/:n/,
където параметърът ще бъде номерът на продукта в масива.
Направете така, че достъпът до такива адреси
да извежда чрез var_dump данните на онзи
продукт, който е бил заявен чрез адресния бар.
Добавете към създаденото действие изглед. Използвайте за това следния HTML:
<h1>Продукт "product1" от категория "category1"</h1>
<p>
Цена: 100$, количество: 5
</p>
<p>
Стойност (цена * количество): 500$
</p>
Данните в този HTML съответстват на първия продукт. Направете така, че изгледът да показва данните на онзи продукт, който е бил заявен чрез адресния бар.
В контролера Product създайте действие
all, което ще извежда списък на всички
продукти под формата на HTML таблица. Нека това действие
обработва адреса /products/all/.