Werken met routes in je eigen MVC-framework

Je weet al dat in het bestand /project/config/routes.php routes staan die de overeenkomsten aangeven tussen URL's en controllers met acties. Routes zijn objecten van de klasse Route. Laten we deze klasse maken in het bestand /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;
    }
  }
?>

Zoals je ziet, zijn de eigenschappen in deze klasse alleen bedoeld voor lezen, wat bereikt wordt door gebruik van magie.

Bekijk nu het bestand met routes. Je kunt zien dat daar een array staat die teruggegeven wordt via return. Dit betekent dat als je zo'n bestand includeert via require, je het resultaat van de inclusie kunt opslaan in een variabele en in die variabele zal onze array staan:

index.php<?php
  namespace Core;
  
  error_reporting(E_ALL);
  ini_set('display_errors', 'on');
  
  spl_autoload_register(function($class) {
    // jouw implementatie van autoload
  });
  
  // Lezen de array uit het bestand met routes in een variabele:
  $routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php';
?>
Задание 1

Kopieer de code van mijn klasse Route en plaats het in het bestand /core/Route.php.

Задание 2

Verkrijg de array met routes in het bestand index.php.