Lucrul cu rute în propriul framework MVC

Știți deja că în fișierul /project/config/routes.php sunt plasate rutele care indică corespondențele dintre URL și controlere cu acțiuni. Rutele reprezintă obiecte ale clasei Route. Să creăm această clasă în fișierul /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;
    }
  }
?>

După cum vedeți, în această clasă proprietățile sunt destinate doar citirii, ceea ce se realizează prin utilizarea magiei.

Aruncați acum o privire în fișierul cu rute. Puteți vedea că acolo se află un array care este returnat prin return. Aceasta înseamnă că dacă conectăm un astfel de fișier prin require, atunci rezultatul conectării poate fi scris într-o variabilă și în această variabilă va fi array-ul nostru:

index.php<?php
  namespace Core;
  
  error_reporting(E_ALL);
  ini_set('display_errors', 'on');
  
  spl_autoload_register(function($class) {
    // implementarea dvs. de autoload
  });
  
  // Citim array-ul din fișierul cu rute în variabilă:
  $routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php';
?>
Задание 1

Copiați codul clasei mele Route și plasați-l în fișierul /core/Route.php.

Задание 2

Obțineți array-ul cu rute în fișierul index.php.