ကိုယ်ပိုင် MVC ဖရိန်းဝပ်ရ်အတွက် လမ်းကြောင်းဖေါ်ပြခြင်းကို အကောင်အထည်ဖော်ခြင်း

ယခုတော့ ကျွန်ုပ်တို့ခေါ်သုံးသည့်ပုံစံနှင့်အညီ Router အတန်းအစား၏ ပုံစံကြမ်းကို ရေးကြပါစို့:

/core/Router.php<?php
  namespace Core;
  
  class Router
  {
    private $routes;
    
    public function getTrack($routes, $uri)
    {
      // ဤနေရာတွင် ကုဒ်များရှိလာမည်
    }
  }
?>

getTrack နည်းလမ်းအတွင်း ၊ ပေးထားသော $uri နှင့် မည်သည့်လမ်းကြောင်းက ကိုက်ညီကြောင်း ဆုံးဖြတ်ရပါမည်။ ဤသို့ပြုလုပ်ရန် ကျွန်ုပ်တို့၏ လမ်းကြောင်းများပါသည့် အနှီကို ကွင်းဆက်ဖြင့် ထပ်ခါထပ်ခါလုပ်ဆောင်ရမည်:

/core/Router.php<?php
  namespace Core;
  
  class Router
  {
    public function getTrack($routes, $uri)
    {
      foreach ($routes as $route) {
        // $uri နှင့် $route ကို စစ်ဆေးခြင်း
      }
    }
  }
?>

တစ်စုံတစ်ရာသော လမ်းကြောင်းသည် URI နှင့် ကိုက်ညီပါက၊ ကျွန်ုပ်တို့သည် ထို URI မှ လမ်းကြောင်း၏ သတ်မှတ်ချက်များရဲ့တန်ဖိုးများကို ရယူပြီး Track အတန်းအစား၏ အရာဝတ္ထုတစ်ခုကို ပြန်ပေးရပါမည်:

/core/Router.php<?php
  namespace Core;
  
  class Router
  {
    public function getTrack($routes, $uri)
    {
      foreach ($routes as $route) {
        if (လမ်းကြောင်းနှင့် URI ကိုက်ညီမှု စစ်ဆေးချက်) {
          $params = ; // uri မှ သတ်မှတ်ချက်များကို ရယူရန် လိုအပ်သည်
          return new Track($route->controller, $route->action, $params);
        }
      }
      
      return new Track('error', 'notFound'); // တစ်ခုသော လမ်းကြောင်းမျှ မကိုက်ညီပါက
    }
  }
?>
Задание 1

ကျွန်ုပ်၏ Router အတန်းအစားပုံစံကြမ်းကို ကူးယူပြီး /core/Router.php ဖိုင်တွင် ထားရှိပါ။

Задание 2

Track အတန်းအစား၏ အရာဝတ္ထုကို ပြန်ပေးသည့် ရလဒ်ဖြင့် ဖေါ်ပြပါ Router အတန်းအစားကို အကောင်အထည်ဖော်ပါ။ အခက်အခဲများ တွေ့ကြုံပါက (ဖြစ်နိုင်ခြေအလွန်မြင့်သည်)၊ �င် MVC အသုံးပြုပုံကို လေ့လာခဲ့သည့် ဖရိန်းဝပ်ရ်၏ မူရင်းကုဒ်ထဲတွင် ကြည့်ရှုပါ။ ထို Router အတန်းအစားအတွင်း အကောင်အထည်ဖော်မှု၏ လိုအပ်ချက်များနှင့် ကျွန်ုပ်၏ ရှင်းလင်းချက်များကို သင်တွေ့ရှိပါလိမ့်မည်။