Կոնտրոլերներ և ներկայացումներ 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/ հասցեն։