ကိုယ်ပိုင် MVC Framework တွင် Route များနှင့် အလုပ်လုပ်ခြင်း

သင် သိပြီးဖြစ်သည့်အတိုင်း၊ ဖိုင်လမ်းညွှန် /project/config/routes.php တွင် URL နှင့် controller များ၊ action များကြား ကိုက်ညီမှုကို ဖော်ပြသော route များ ထည့်သွင်းထားပါသည်။ Route များသည် အတန်း 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 method များအသုံးပြုခြင်းဖြင့် ရယူပါသည်။

ယခု route များပါသော ဖိုင်ထဲသို့ ကြည့်ပါ။ သင် မြင်နိုင်သည်မှာ၊ ထိုနေရာတွင် return မှတစ်ဆင့် ပြန်ပို့သည့် array တစ်ခု ရှိနေပါသည်။ ဆိုလိုသည်မှာ ဤကဲ့သို့သော ဖိုင်ကို require ဖြင့် တွဲထည့်ပါက၊ တွဲထည့်မှု၏ ရလဒ်ကို variable တစ်ခုတွင် ရေးသားထားနိုင်ပြီး ထို variable အတွင်း ကျွန်ုပ်တို့၏ array ကို တွေ့ရှိရပါမည်။

index.php<?php
  namespace Core;
  
  error_reporting(E_ALL);
  ini_set('display_errors', 'on');
  
  spl_autoload_register(function($class) {
    // သင်၏ autoload အကောင်အထည်ဖော်မှု
  });
  
  // Route များပါသည့် ဖိုင်မှ array ကို ဖတ်ပါ။ variable ထဲသို့ထည့်ပါ။
  $routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php';
?>
Задание 1

ကျွန်ုပ်၏ အတန်း Route ၏ code ကို ကူးယူပြီး ဖိုင် /core/Route.php တွင် ထည့်သွင်းပါ။

Задание 2

ဖိုင် index.php တွင် route များပါသည့် array ကို ရယူပါ။