ThinkPpp သည် MVC ပုံစံပေါ်တွင် အခြေခံ. ပေါ့ပါးသော PHP Framework ဖြစ်သည်။ ကျိုးကြောင်းဆီလျော်သောလမ်းကြောင်းပြင်ဆင်ခြင်းသည်စီမံကိန်း၏ထိန်းသိမ်းမှုကိုတိုးတက်စေရုံသာမက URL ကိုပိုမိုအကောက်အခေါ်များနှင့် Semantic ကိုလည်းပြုလုပ်နိုင်သည်။ ဤဆောင်းပါးသည်သင့်အား Basic Deptions, configuration နည်းလမ်းများနှင့်ဥပမာများအနေဖြင့် TheyPpp ၏ routing routing ယန္တရားကိုနက်နက်နဲနဲနားလည်စေလိမ့်မည်။
TheerPpp တွင် routing ၏အခန်းကဏ် role သည် URLs နှင့် Controller နည်းလမ်းများအကြားမြေပုံပြောဆိုမှုကိုတည်ဆောက်ရန်ဖြစ်သည်။ routing rules များကိုစိတ်ကြိုက်ပြုလုပ်ခြင်းဖြင့် developer များသည် Access Paths များကိုလွတ်လပ်စွာ သတ်မှတ်. စီမံကိန်းတည်ဆောက်ပုံကိုရှင်းလင်းစွာသတ်မှတ်နိုင်သည်။
ThinkPP သည်အဓိကလမ်းကြောင်း (2) ခုကိုထောက်ပံ့ပေးသည်။ အခြေခံလမ်းကြောင်းနှင့်ပြီးပြည့်စုံသောလမ်းကြောင်းတစ်ခု။
အခြေခံလမ်းကြောင်းသည် configuration file ရှိ URL နှင့် Controller နည်းလမ်းအကြားသက်ဆိုင်ရာဆက်ဆံရေးကိုသတ်မှတ်ခြင်းဖြင့်အောင်မြင်နိုင်သည့်အရိုးရှင်းဆုံးနည်းလမ်းဖြစ်သည်။ ဥပမာအားဖြင့်:
// ပုံမှန် routing configuration ကို
'URL_ROUTER_ON' => true, // routing enable
'URL_ROUTE_RULES' => array(
'home' => 'Index/index', // သေတမ်းစာ /home မှမြေပုံ Index ကေြာစင်တာ index နည်းလမ်း
'article' => 'Blog/read', // သေတမ်းစာ /article မှမြေပုံ Blog ကေြာစင်တာ read နည်းလမ်း
),
အပြည့်အဝ routing သည်ပိုမိုပြောင်းလွယ်ပြင်လွယ်ကိုက်ညီသည့်နည်းလမ်းကိုထောက်ပံ့သည်။
// အပြည့်အဝ routing configuration ကို
'URL_ROUTER_ON' => true, // routing enable
'URL_ROUTE_RULES' => array(
'admin/:controller/:action' => 'admin/:1/:2', // မှမြေပုံ admin 模块对应控制器和နည်းလမ်း
),
အောက်ဖော်ပြပါသည် Blog System ကို TherePhp တွင်လမ်းကြောင်းမှန်ပေါ်မည်သို့ပြင်ဆင်ရမည်ကိုသရုပ်ပြရန်ဥပမာတစ်ခုအဖြစ်ရှုမြင်သည်။ ဆောင်းပါးအကြောင်းအရာကိုဖော်ပြရန်အတွက်ဖတ်နည်းပါသောဘလော့ဂ် controller တစ်ခုရှိသည်ဆိုပါစို့။
Configuration file file config.php တွင်အခြေခံလမ်းကြောင်းစည်းမျဉ်းများကိုသတ်မှတ်ပါ။
'URL_ROUTER_ON' => true,
'URL_ROUTE_RULES' => array(
'article/:id' => 'Blog/read', // သေတမ်းစာ /article/123 မှမြေပုံ Blog ကေြာစင်တာ read နည်းလမ်း
),
ထို့နောက်သက်ဆိုင်ရာဖတ်နည်းကို Blog Controller တွင်ရေးပါ။
public function read($id) {
$article = BlogModel::find($id); // query anyone ဆောင်းပါးအချက်အလက်
$this->assign('article', $article); // Template သို့ဒေတာများကို Pass
$this->display(); // Render Page
}
နောက်ဆုံးတွင် Template File ရှိဆောင်းပါးအကြောင်းအရာကိုပြပါ။
<h1>{$article.title}</h1>
<p>{$article.content}</p>
အထက်ဖော်ပြပါဖွဲ့စည်းမှုမှတဆင့်, ဆောင်းပါး / 123 ကိုဝင်ရောက်ကြည့်ရှုသည့်အခါစနစ်သည် blog controller ၏ဖတ်နည်းကိုအလိုအလျောက်ခေါ်ဆိုခြင်းနှင့်ပြောင်းလဲနေသောစာမျက်နှာပြသရန် parameter အဖြစ် parameter အဖြစ် parameter အဖြစ် parameter အဖြစ် parameter အဖြစ် parameter အဖြစ် parameter အဖြစ်အလိုအလျောက်ခေါ်ဆိုလိမ့်မည်။
ဒီဆောင်းပါးရဲ့ရှင်းပြချက်ကနေတဆင့်သင်ဟာ TheyPhp routing configuration ကိုရှင်းရှင်းလင်းလင်းနားလည်ထားတယ်လို့ယုံကြည်တယ်။ အခြေခံလမ်းကြောင်းမှလမ်းကြောင်းဖြည့်စွက်ရန်အတွက်ကွဲပြားခြားနားသော configuration နည်းလမ်းများသည်ကွဲပြားခြားနားသောဖွံ့ဖြိုးရေးလိုအပ်ချက်များကိုဖြည့်ဆည်းပေးနိုင်သည်။ အမှန်တကယ်စီမံကိန်းများတွင်လမ်းကြောင်းသည်လမ်းကြောင်းတည်ဆောက်ပုံကိုဒီဇိုင်းဆွဲခြင်းကဖွံ့ဖြိုးမှုစွမ်းရည်ကိုတိုးတက်စေရုံသာမကစနစ်ကိုပိုမိုလွယ်ကူစေရန်နှင့်ထိန်းသိမ်းရန်ပိုမိုလွယ်ကူစေသည်။