Kendi MVC Framework'ümüzde Route'larla Çalışma

Bildiğiniz gibi, /project/config/routes.php dosyasında URL'ler ile controller'lar ve action'lar arasındaki eşleşmeleri gösteren route'lar bulunur. Route'lar Route sınıfının nesneleridir. Hadi bu sınıfı /core/Route.php dosyasında oluşturalım:

/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üğünüz gibi, bu sınıfta özellikler sadece okunabilir amaçlıdır, bu da magic metotlar kullanılarak sağlanır.

Şimdi route dosyasına bir göz atın. Orada return ile döndürülen bir dizi olduğunu görebilirsiniz. Bu şu anlama gelir: eğer böyle bir dosya require ile eklenirse, eklemenin sonucu bir değişkene yazılabilir ve bu değişkende dizimiz yer alacaktır:

index.php<?php
  namespace Core;
  
  error_reporting(E_ALL);
  ini_set('display_errors', 'on');
  
  spl_autoload_register(function($class) {
    // otoload implementasyonunuz
  });
  
  // Route dosyasındaki diziyi okuyup değişkene atıyoruz:
  $routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php';
?>
Задание 1

Route sınıfımın kodunu kopyalayın ve /core/Route.php dosyasına yerleştirin.

Задание 2

index.php dosyasında route'larla diziye erişin.