Práca s routami vo vlastnom MVC frameworku

Už viete, že v súbore /project/config/routes.php sú umiestnené routy, ktoré určujú zhodu medzi URL a kontrolermi s akciami. Routy sú objekty triedy Route. Poďme vytvoriť túto triedu v súbore /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;
    }
  }
?>

Ako vidíte, v tejto triede sú vlastnosti určené len na čítanie, čo sa dosahuje použitím magických metód.

Pozrite sa teraz do súboru s routami. Môžete vidieť, že tam je pole, ktoré sa vracia pomocou return. To znamená, že ak pripojíte takýto súbor pomocou require, výsledok pripojenia je možné zapísať do premennej a v tejto premennej bude naše pole:

index.php<?php
  namespace Core;
  
  error_reporting(E_ALL);
  ini_set('display_errors', 'on');
  
  spl_autoload_register(function($class) {
    // vaša implementácia autoloadingu
  });
  
  // Prečítame pole zo súboru s routami do premennej:
  $routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php';
?>
Задание 1

Skopírujte kód mojej triedy Route a umiestnite ho do súboru /core/Route.php.

Задание 2

Získajte pole s routami v súbore index.php.