Өз MVC фреймворкуңузда роуттор менен иштөө

Сиз билесиз, /project/config/routes.php файлында URL жана контроллерлер менен аракеттердин ортосундагы дал келүүлөрдү көрсөткөн роуттар жайгашкан. Роуттар Route класстын объектилери катары көрсөтүлөт. Келгиле, бул классты /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;
    }
  }
?>

Көрүнүп тургандай, бул класстагы касиеттер силердик колдонулушу менен гана окуу үчүн арналган.

Азыр роуттар файлына көз чаптырыңыз. Сиз return аркылуу кайтарылуучу массив жатарын көрө аласыз. Бул дегенди билдирет, эгерде мындай файлды require аркылуу кошсок, анда кошуунун натыйжасын өзгөрмөгө жазып коюуга болот жана бул өзгөрмөдө биздин массив болот:

index.php<?php
  namespace Core;
  
  error_reporting(E_ALL);
  ini_set('display_errors', 'on');
  
  spl_autoload_register(function($class) {
    // сиздин автозагрузка ишке ашырууңуз
  });
  
  // Роуттар файлынан массивди өзгөрмөгө окуп алуу:
  $routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php';
?>
Задание 1

Менин Route класстын кодун көчүрүп, /core/Route.php файлына жайгаштырыңыз.

Задание 2

index.php файлында роуттар менен массивди алыңыз.