Практикум за контролери и претстави во MVC

Задание 1

Креирајте контролер Product, во конструкторот на кој ќе биде зададена следнава низа:

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

Во контролерот Product направете акција show, која ќе ја прикажува информацијата за еден производ. Нека оваа акција ги обработува адресите од следниот вид: /product/:n/, каде параметар ќе биде бројот на производот во низата. Направете така што обраќањето по вакви адреси ќе ги прикажува преку var_dump податоците на тој производ кој бил побаркан преку адресната лента.

Задание 3

Додадете на создадената акција претставување. Користете ја за ова следната верстка:

html<h1>Производ "product1" од категорија "category1"</h1>
<p>
  Цена: 100$, количина: 5
</p>
<p>
  Вредност (цена * количина): 500$
</p>

Податоците во оваа верстка одговараат на првиот производ. Направете така што претставувањето ги прикажува податоците на тој производ кој бил побаркан преку адресната лента.

Задание 4

Во контролерот Product направете акција all, која ќе го прикажува списокот на сите производи во вид на HTML табела. Нека оваа акција ја обработува адресата /products/all/.