Πρακτική σε Ελεγκτές και Προβολές στο 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/.