Oz MVC Framework-da Routlarla Is

Artıq bilirsiniz ki, /project/config/routes.php faylında URL ile kontrollerler ve aksiyalar arasında uygunluq gosteren routlar yerlesir. Routlar Route sinfinin obyektleri kimi temsil olunur. Gelin bu sinfi /core/Route.php faylında yaradaq:

/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;
    }
  }
?>

Gördüyünüz kimi, bu sinifde xasseler yalnız oxumaq üçün nəzərdə tutulub, bu da magiyadan istifadə etməklə əldə olunur.

İndi routlar olan fayla nəzər yetirin. Siz görə bilərsiniz ki, orada return vasitəsilə qaytarılan massiv var. Bu o deməkdir ki, belə bir faylı require vasitəsilə qoşsanız, qoşulmanın nəticəsini dəyişəndə yazmaq olar və bu dəyişəndə bizim massivimiz olacaq:

index.php<?php
  namespace Core;
  
  error_reporting(E_ALL);
  ini_set('display_errors', 'on');
  
  spl_autoload_register(function($class) {
    // sizin avtoyukleme realizasiyaniz
  });
  
  // Rout faylından massivi oxuyuruq deyişene:
  $routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php';
?>
Задание 1

Route sinfinin kodunu kopyalayın və onu /core/Route.php faylında yerlesdirin.

Задание 2

index.php faylında routlarla massivi alın.