ကိုယ်ပိုင် MVC ဖရိန်းဝပ်ရ်အတွက် လမ်းကြောင်းဖေါ်ပြခြင်းကို အကောင်အထည်ဖော်ခြင်း
ယခုတော့ ကျွန်ုပ်တို့ခေါ်သုံးသည့်ပုံစံနှင့်အညီ
Router အတန်းအစား၏ ပုံစံကြမ်းကို ရေးကြပါစို့:
<?php
namespace Core;
class Router
{
private $routes;
public function getTrack($routes, $uri)
{
// ဤနေရာတွင် ကုဒ်များရှိလာမည်
}
}
?>
getTrack နည်းလမ်းအတွင်း ၊ ပေးထားသော
$uri နှင့် မည်သည့်လမ်းကြောင်းက ကိုက်ညီကြောင်း
ဆုံးဖြတ်ရပါမည်။
ဤသို့ပြုလုပ်ရန် ကျွန်ုပ်တို့၏ လမ်းကြောင်းများပါသည့်
အနှီကို ကွင်းဆက်ဖြင့် ထပ်ခါထပ်ခါလုပ်ဆောင်ရမည်:
<?php
namespace Core;
class Router
{
public function getTrack($routes, $uri)
{
foreach ($routes as $route) {
// $uri နှင့် $route ကို စစ်ဆေးခြင်း
}
}
}
?>
တစ်စုံတစ်ရာသော လမ်းကြောင်းသည် URI နှင့် ကိုက်ညီပါက၊
ကျွန်ုပ်တို့သည် ထို URI မှ လမ်းကြောင်း၏ သတ်မှတ်ချက်များရဲ့တန်ဖိုးများကို
ရယူပြီး Track အတန်းအစား၏ အရာဝတ္ထုတစ်ခုကို ပြန်ပေးရပါမည်:
<?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'); // တစ်ခုသော လမ်းကြောင်းမျှ မကိုက်ညီပါက
}
}
?>
ကျွန်ုပ်၏ Router အတန်းအစားပုံစံကြမ်းကို ကူးယူပြီး
/core/Router.php ဖိုင်တွင် ထားရှိပါ။
Track အတန်းအစား၏ အရာဝတ္ထုကို ပြန်ပေးသည့် ရလဒ်ဖြင့်
ဖေါ်ပြပါ Router အတန်းအစားကို အကောင်အထည်ဖော်ပါ။
အခက်အခဲများ တွေ့ကြုံပါက (ဖြစ်နိုင်ခြေအလွန်မြင့်သည်)၊
�င် MVC အသုံးပြုပုံကို လေ့လာခဲ့သည့် ဖရိန်းဝပ်ရ်၏
မူရင်းကုဒ်ထဲတွင် ကြည့်ရှုပါ။
ထို Router အတန်းအစားအတွင်း အကောင်အထည်ဖော်မှု၏ လိုအပ်ချက်များနှင့်
ကျွန်ုပ်၏ ရှင်းလင်းချက်များကို သင်တွေ့ရှိပါလိမ့်မည်။