Rad sa rutama u sopstvenom MVC frejmvorku

Već znate da se u fajlu /project/config/routes.php nalaze rute koje ukazuju na podudarnost između URL-a i kontrolera sa akcijama. Rute su objekti klase Route. Hajde da napravimo ovu klasu u fajlu /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;
    }
  }
?>

Kao što vidite, u ovoj klasi svojstva su namenjena samo za čitanje, što se postiže korišćenjem magije.

Pogledajte sada u fajl sa rutama. Možete videti da se tu nalazi niz koji se vraća preko return. To znači da ako se ovakav fajl uključi preko require, onda se rezultat uključivanja može upisati u promenljivu i u toj promenljivoj će se naći naš niz:

index.php<?php
  namespace Core;
  
  error_reporting(E_ALL);
  ini_set('display_errors', 'on');
  
  spl_autoload_register(function($class) {
    // vaša implementacija autoučitavanja
  });
  
  // Učitavamo niz iz fajla sa rutama u promenljivu:
  $routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php';
?>
Задание 1

Kopirajte kod moje klase Route i postavite ga u fajl /core/Route.php.

Задание 2

Dobijte niz sa rutama u fajlu index.php.