Uchakataji wa Routes katika Mfumo wako wa MVC

Tayari unajua kuwa katika faili /project/config/routes.php kuna routes zinazoonyesha mawasiliano kati ya URL na controllers pamoja na vitendo. Routes zinawakilisha vitu vya darasa Route. Hebu tutengeneze darasa hili kwenye faili /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;
    }
  }
?>

Kama unavyoona, katika darasa hili sifa zimeundwa kwa kusomwa pekee, jambo linalopatikana kwa kutumia mazingombombi.

Sasa angalia kwenye faili lenye routes. Unaweza kuona kuwa kuna safu (array) ambayo inarejeshwa kupitia return. Hii inamaanisha kuwa ikiwa faili kama hii italetwa kupitia require, basi matokeo ya kuileta yanaweza kuhifadhiwa kwenye kigezo na katika kigezo hicho kutakuwapo safu yetu:

index.php<?php
  namespace Core;
  
  error_reporting(E_ALL);
  ini_set('display_errors', 'on');
  
  spl_autoload_register(function($class) {
    // utekelezaji wako wa upakiaji otomatiki
  });
  
  // Inasoma safu kutoka kwa faili lenye routes na kuiweka kwenye kigezo:
  $routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php';
?>
Задание 1

Nakili msimbo wa darasa langu Route na uiweke kwenye faili /core/Route.php.

Задание 2

Pata safu ya routes kwenye faili index.php.