Εργασία με δρομολογητές στο δικό σας MVC πλαίσιο

Γνωρίζετε ήδη ότι στο αρχείο /project/config/routes.php τοποθετούνται οι δρομολογητές (routes), που υποδεικνύουν τις αντιστοιχίες μεταξύ URL και controllers με actions. Οι δρομολογητές αντιπροσωπεύουν αντικείμενα της κλάσης Route. Ας φτιάξουμε αυτήν την κλάση στο αρχείο /core/Route.php:

/core/Route.php<?php
  namespace Core;
  
  class Route
  {
    private $path;
    private $controller;
    private $action;
    
    public function __construct($path, $controller, $action)
    {
      $this->path = $path;
      $this->controller = $controller;
      $this->action = $action;
    }
    
    public function __get($property)
    {
      return $this->$property;
    }
  }
?>

Όπως βλέπετε, σε αυτήν την κλάση οι ιδιότητες προορίζονται μόνο για ανάγνωση, κάτι που επιτυγχάνεται με τη χρήση μαγείας.

Ρίξτε μια ματιά τώρα στο αρχείο με τους δρομολογητές. Μπορείτε να δείτε, ότι εκεί βρίσκεται ένας πίνακας, ο οποίος επιστρέφεται μέσω return. Αυτό σημαίνει, ότι εάν συμπεριληφθεί ένα τέτοιο αρχείο μέσω require, τότε το αποτέλεσμα της συμπερίληψης μπορεί να καταγραφεί σε μια μεταβλητή και σε αυτήν τη μεταβλητή θα βρίσκεται ο πίνακας μας:

index.php<?php
  namespace Core;
  
  error_reporting(E_ALL);
  ini_set('display_errors', 'on');
  
  spl_autoload_register(function($class) {
    // η υλοποίηση της αυτόματης φόρτωσης σας
  });
  
  // Διαβάζουμε τον πίνακα από το αρχείο με τους δρομολογητές στη μεταβλητή:
  $routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php';
?>
Задание 1

Αντιγράψτε τον κώδικα της κλάσης μου Route και τοποθετήστε τον στο αρχείο /core/Route.php.

Задание 2

Λάβετε τον πίνακα με τους δρομολογητές στο αρχείο index.php.