ThinkPpp သည် Justweight နှင့်အသုံးပြုရလွယ်ကူသည့် PHP Framework ဖြစ်သည်။ TherfPP တွင် module binding သည်အလွန်အရေးကြီးသောအယူအဆတစ်ခုဖြစ်သည်။ Developer များသည် Developer များကအထူးထိန်းချုပ်ထားသောမော်ဒယ်များ, အမြင်များနှင့်အခြားဖိုင်များအားလွတ်လပ်သော module များဖွဲ့စည်းရန် folder တစ်ခုထဲသို့စုစည်းရန်ခွင့်ပြုသည်။ Module Binding မှတစ်ဆင့်ကုဒ်အဖွဲ့အစည်းသည်ရှင်းလင်းပြတ်သားပြီး module များအကြား code သည်ပ conflict ိပက်ခဖြစ်လိမ့်မည်မဟုတ်ပါ။
TherfPP တွင် modules ဖန်တီးခြင်းသည်အလွန်ရိုးရှင်းပါသည်။ ပထမ ဦး စွာ application directory ရှိ module တစ်ခု၏ module ဆိုတဲ့ folder တစ်ခုဖန်တီးပါ။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည် API ဟုခေါ်သော module တစ်ခုဖန်တီးသည်။ ထို့နောက်ထိုဖိုင်တွဲအတွင်းရှိ Controller အမည်ရှိ controller ဟုခေါ်သောဖိုင်တွဲတစ်ခုကိုဖန်တီးပြီး Controller ကို Controller မှ အမည်ရှိဖိုင်တစ်ခုဖန်တီးပါ။ နောက်ဆုံးအနေဖြင့်ထိုဖိုင်တွင် Controller ကုဒ်ကိုရေးပါ။
UserController.php ဖိုင်ကိုဖန်တီးရန်နမူနာကုဒ်ဖြစ်သည်။
namespace app\api\controller;
class UserController {
public function index() {
return 'Hello, World!';
}
}အထက်ပါကုဒ်တွင် USERController ဟုခေါ်သော Controller အတန်းကိုသတ်မှတ်ပြီး 'ဟဲလိုကမ္ဘာကြီး " ကိုပြန်ပေးရန်အတွက် အညွှန်းကိန်း နည်းလမ်းကိုကျွန်ုပ်တို့သတ်မှတ်သည်။ ။
The TerryPhP module ၏စည်းနှောင်ခြင်းသည် system configuration file မှတဆင့်အကောင်အထည်ဖော်သည်။ application directory တွင် config.php ဖိုင်ကိုဖွင့်ပြီးသက်ဆိုင်ရာဖွဲ့စည်းမှုကိုပြုပြင်ရန်လိုအပ်သည်။ ပုံမှန်အားဖြင့် configuration file တွင်အောက်ပါတို့ပါ 0 င်နိုင်သည် -
'default_module' => 'index',ဤနေရာတွင် 'default_module' configuration item ကိုဤနေရာတွင်ဖော်ပြထားသည်။ default module သည် index module ဖြစ်သည်ဟုဖော်ပြသည်။ ကျွန်ုပ်တို့သည်ဤ configuration item ကိုပြုပြင်ပြီး၎င်းကိုကျွန်ုပ်တို့ဖန်တီးထားသော API Module သို့ညွှန်ပြနိုင်သည်။
'default_module' => 'api',ဤနည်းအားဖြင့်ကျွန်ုပ်တို့သည် default module ကို API Module သို့ချည်နှောင်ထားသည်။
TressPPP တွင် URL မှတစ်ဆင့် Module ထဲရှိ Controller နည်းလမ်းကိုတိုက်ရိုက် 0 င်ရောက်နိုင်သည်။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည် default module ကို API သို့ချည်နှောင်ပြီး Usercontroller ရှိ အညွှန်း ပုံစံကိုရယူရန်လိုအပ်သည်ဆိုပါကအောက်ပါ URL မှတစ်ဆင့်၎င်းကိုကျွန်ုပ်တို့ဝင်ရောက်ကြည့်ရှုနိုင်သည်။
http://example.com/api/User/indexဤ URL တွင် / API / API / Module အမည်ကိုကိုယ်စားပြုသည်, / အသုံးပြုသူ / ကို ကိုယ်စားပြုသည်။ Controller အမည်ကိုကိုယ်စားပြုသည်။ ThinkPP သည်သက်ဆိုင်ရာ controller ကိုဤ URL အပေါ် အခြေခံ. အလိုအလျောက်ရှာဖွေပြီးသက်ဆိုင်ရာလုပ်ဆောင်မှုများကိုလုပ်ဆောင်လိမ့်မည်။
ThinkPpp သည်လမ်းကြောင်း settings များမှတဆင့်ကွဲပြားသော module များအကြားအပြန်အလှန်ဆက်သွယ်မှုကိုထောက်ခံသည်။ ကျွန်ုပ်တို့သည် api.php ဖိုင်ကိုဖန်တီးခြင်းကဲ့သို့သော လမ်းကြောင်း လမ်းညွှန်ပါ route directory ရှိ routing file တစ်ခုနှင့်အတူတူပင်အမည်ဖြင့် routing file တစ်ခုကိုဖန်တီးနိုင်သည်။ ဤဖိုင်တွင် module များအကြားနည်းစနစ်များခေါ်ဆိုမှုများကိုအကောင်အထည်ဖော်ရန်လမ်းကြောင်းစည်းမျဉ်းများကိုသတ်မှတ်နိုင်သည်။
ဤတွင် API.php routing file file တစ်ခုရှိသည်။
return [
'user/:id' => 'api/User/getUser',
'product/:id' => 'api/Product/getProduct',
];အထက်ပါကုဒ်များတွင်ကျွန်ုပ်တို့သည်လမ်းကြောင်းနှစ်ခုကိုသတ်မှတ်သည်။ အသုံးပြုသူသတင်းအချက်အလက်ကိုရယူရန်ပထမ ဦး ဆုံးစည်းမျဉ်းကိုအသုံးပြုသည်။ / 1 သည် API / အသုံးပြုသူ / GetUser Method ကိုခေါ်လိမ့်မည်။ ဒုတိယစည်းမျဉ်းကိုထုတ်ကုန်သတင်းအချက်အလက်ရယူရန်အသုံးပြုသည်။ / 1 သည် API / ထုတ်ကုန် / GetProduct Method ကိုခေါ်လိမ့်မည်။
ThinkPpP ၏ module binding feature သည် code ၏ထိန်းသိမ်းမှုနှင့်ဖွံ့ဖြိုးတိုးတက်မှုထိရောက်မှုကိုများစွာတိုးတက်စေသည်။ ရိုးရှင်းသော configuration နှင့်အတူ developer များနှင့်အတူ developer များအလွယ်တကူ modules ဖန်တီးပြီး၎င်းတို့၏ app များနှင့်ချည်နှောင်နိုင်ပါတယ်။ ထို့အပြင် ThinkPpp သည် developer များကိုမတူညီသော module များအကြားခေါ်ဆိုမှုများပြုလုပ်ရန်ခွင့်ပြုသည့်ပြောင်းလွယ်ပြင်လွယ်သောလမ်းကြောင်းစနစ်ကိုလည်းထောက်ပံ့ပေးသည်။ Mastering Module Binding နှင့် routing settings သည်ပိုမိုရှုပ်ထွေးသော 0 က်ဘ်အပလီကေးရှင်းများတည်ဆောက်ရာတွင် developer များသည် developer များသပ်သပ်ရပ်ရပ်နှင့် modular ကိုထိန်းသိမ်းရန်ကူညီလိမ့်မည်။