การทำงานกับเส้นทางใน MVC Framework ของตัวเอง

คุณทราบแล้วว่าในไฟล์ /project/config/routes.php มีการกำหนดเส้นทาง (routes) ซึ่งระบุความสอดคล้อง ระหว่าง 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;
    }
  }
?>

ดังที่คุณเห็น ในคลาสนี้คุณสมบัติต่างๆ มีไว้ สำหรับการอ่านอย่างเดียว ซึ่งทำได้โดยการใช้ เมธอดมหัศจรรย์ (magic methods)

ลองดูไฟล์ที่เก็บเส้นทางตอนนี้ คุณสามารถ เห็นได้ว่ามีอาร์เรย์อยู่ที่นั่น ซึ่ง ถูกส่งคืนผ่าน return นี่หมายความว่า หากรวมไฟล์ดังกล่าวผ่าน require ผลลัพธ์ของการรวมสามารถบันทึกลงใน ตัวแปรได้ และในตัวแปรนั้นจะมีอาร์เรย์ของเรา อยู่:

index.php<?php
  namespace Core;
  
  error_reporting(E_ALL);
  ini_set('display_errors', 'on');
  
  spl_autoload_register(function($class) {
    // การimplement autoload ของคุณ
  });
  
  // อ่านอาร์เรย์จากไฟล์เส้นทางลงในตัวแปร:
  $routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php';
?>
Задание 1

คัดลอกโค้ดคลาส Route ของฉัน และวางไว้ในไฟล์ /core/Route.php

Задание 2

รับอาร์เรย์ที่มีเส้นทางในไฟล์ index.php