Praca z trasami we własnym frameworku MVC

Wiesz już, że w pliku /project/config/routes.php znajdują się trasy wskazujące odpowiedniości pomiędzy URL a kontrolerami z akcjami. Trasy przedstawiają obiekty klasy Route. Stwórzmy tę klasę w pliku /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;
    }
  }
?>

Jak widzisz, w tej klasie właściwości są przeznaczone tylko do odczytu, co osiąga się za pomocą magii.

Zajrzyj teraz do pliku z trasami. Możesz zobaczyć, że znajduje się tam tablica, która jest zwracana przez return. Oznacza to, że jeśli podłączysz taki plik przez require, to wynik podłączenia można zapisać w zmiennej i w tej zmiennej znajdzie się nasza tablica:

index.php<?php
  namespace Core;
  
  error_reporting(E_ALL);
  ini_set('display_errors', 'on');
  
  spl_autoload_register(function($class) {
    // twoja implementacja autoloadingu
  });
  
  // Odczytujemy tablicę z pliku z trasami do zmiennej:
  $routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php';
?>
Задание 1

Skopiuj kod mojej klasy Route i umieść go w pliku /core/Route.php.

Задание 2

Pobierz tablicę z trasami w pliku index.php.