Web applications များဖွံ့ဖြိုးတိုးတက်ရေးတွင် API ဗားရှင်းသည် interface ကိုလိုက်လျောညီထွေဖြစ်ခြင်းနှင့်ပမာဏကိုသေချာစေရန်သော့ချက်ဖြစ်သည်။ Project Iteration နှင့်လိုအပ်ချက်များအပြောင်းအလဲများအနေဖြင့် API interface ကိုပုံမှန်အားဖြင့်အဆင့်မြှင့် တင်. ပြောင်းလဲသွားလိမ့်မည်။ ဤဆောင်းပါးသည် ThinkPpP6 မူဘောင်တွင် API ဗားရှင်းထိန်းချုပ်မှုကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုပြသပါမည်။
ThinkPP6 တွင် URI အခြေပြုဗားရှင်းထိန်းချုပ်မှုအစီအစဉ်မှတဆင့် API interves ဗားရှင်းအမျိုးမျိုးကိုစီမံနိုင်သည်။ ဗားရှင်းတစ်ခုစီအတွက်မတူညီသော URL လမ်းကြောင်းများကိုသတ်မှတ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည် apis ၏ဗားရှင်းအမျိုးမျိုးကိုအလွယ်တကူခွဲခြားနိုင်သည်။
ပထမ ဦး စွာ, routing configuration file ရှိ API interface ၏ဗားရှင်းနံပါတ်ကိုသတ်မှတ်ရန်လိုအပ်သည်။ `လမ်းကြောင်း / route.php ဖိုင်ကိုဖွင့ ်. api ၏ဗားရှင်းအမျိုးမျိုးအတွက်လမ်းကြောင်းစည်းမျဉ်းများကိုပြင်ဆင်ပါ။
Think \ Facade \ လမ်းကြောင်းကိုသုံးပါ။ // ဗားရှင်း 1 routing rules rousing လမ်းကြောင်း :: Group ('v1', function () {) RoGe :: Get ('API /: Controller /: အရေးယူခြင်း', ': Controller /: Action' ') ။ }); // ဗားရှင်း 2 လမ်းကြောင်းအတွက်လမ်းကြောင်းစည်းမျဉ်းများ :: အုပ်စု ('v2', function () {) RoGe :: Get ('API /: Controller /: အရေးယူခြင်း', ': Controller /: Action' ') ။ });
အထက်ပါကုဒ်တွင် `လမ်းကြောင်း :: Group ၏နည်းလမ်းကို routing rules များကိုသတ်မှတ်ရန်အသုံးပြုသည်။ အမှန်တကယ်လိုအပ်ချက်များပေါ် မူတည်. သင်လမ်းကြောင်းစည်းမျဉ်းများပိုမိုများပြားသောဗားရှင်းများကိုဆက်လက်ထည့်သွင်းနိုင်သည်။
နောက်တစ်ခုကဗားရှင်းအမျိုးမျိုးအတွက်တောင်းဆိုမှုများကိုကိုင်တွယ်ရန် API ၏ Controller ဖိုင်ကိုရေးရန်လိုအပ်သည်။ ကျွန်ုပ်တို့တွင် `usercontroller` ကို` app \ controller's directory ထဲမှာသက်ဆိုင်ရာ controller file ကိုဖန်တီးနိုင်မယ်ဆိုပါစို့။ Code pegager ်ဌာန်းချက်မှာအောက်ပါအတိုင်းဖြစ်သည် -
<?php namespace app\controller; use think\Request; class UserController { public function index(Request $request) { $version = $request-> Param ('ဗားရှင်း'); IF ($ version === '' v1 ') { $:> V1 () () $ ပြန်သွားပါ။ } ualif ($ version === 'v2') { $:> V2 () () $ return:> v2 (); } အခြား // ဗားရှင်းနံပါတ်အမှားများ} } အများပြည်သူလုပ်ဆောင်ချက် V1 () { // ဗားရှင်း 1 အပြောင်းအလဲနဲ့ယုတ္တိဗေဒ} အများပြည်သူ function v2 () { // ဗားရှင်း 2 အပြောင်းအလဲနဲ့ယုတ္တိဗေဒ} }
Usercontroller တွင်ကျွန်ုပ်တို့သည်တောင်းဆိုထားသောဗားရှင်းနံပါတ်ကိုဆုံးဖြတ်ရန်နှင့်သက်ဆိုင်ရာလုပ်ဆောင်မှုနည်းလမ်းကို အသုံးပြု. သက်ဆိုင်ရာလုပ်ဆောင်မှုနည်းလမ်းကို အသုံးပြု. သက်ဆိုင်ရာလုပ်ဆောင်မှုနည်းလမ်းကိုအသုံးပြုသည်။ ကွဲပြားခြားနားသောဗားရှင်းများ၏လိုအပ်ချက်များပေါ် မူတည်. ဗားရှင်းတစ်ခုစီ၏ယုတ္တိဗေဒကိုသီးခြားရေးသားနိုင်သည်။
သင် routing configuration နှင့် controller အရေးအသားပြီးဆုံးသွားသောအခါ, api ၏ကွဲပြားခြားနားသော URLs များမှတဆင့်မတူညီသောဗားရှင်းများကိုရယူနိုင်သည်။ ဥပမာအားဖြင့်ဗားရှင်း 1 Api ကိုသုံးခြင်းကအောက်ပါ URL ကိုသုံးနိုင်သည်။
http://yourddomain.com/v1/api/user/index
ဗားရှင်း 2 API ကိုရယူရန်အောက်ပါ URL ကိုသုံးနိုင်သည်။
http://yourddomain.com/v2/api/user/index
URL တွင် `v1` နှင့်` v2` သည် API ၏ version နံပါတ်ကိုကိုယ်စားပြုသော api ၏ version နံပါတ်ကိုကိုယ်စားပြုသည်။ ဤနည်းအားဖြင့်မတူညီသော interfaces ဗားရှင်းများကိုပြောင်းလွယ်ပြင်လွယ်ရှိနိုင်သည်။
အထက်ဖော်ပြပါနည်းလမ်းဖြင့်သင်သည် API ဗားရှင်းကို The TerryPhp6 မူဘောင်တွင်အလွယ်တကူအကောင်အထည်ဖော်နိုင်သည်။ မတူညီသောဗားရှင်းများအတွက် routing စည်းမျဉ်းစည်းကမ်းများနှင့် controller နည်းလမ်းများကိုသတ်မှတ်ခြင်းအားဖြင့်သင်သည်မတူညီသောဗားရှင်းများအကြား API interfaces ၏သဟဇာတဖြစ်သောနှင့်အမြင့်ဆုံးနိုင်စွမ်းကိုသေချာစေနိုင်သည်။ URI-based version Control Scheme သည်ရိုးရှင်းလွယ်ကူပြီးအသုံးပြုရန်လွယ်ကူပြီး API စီမံကိန်းအများစုအတွက်သင့်တော်သည်။ ThinkPpp6 တွင် API ဗားရှင်းထိန်းချုပ်မှုကိုနားလည်ရန်ဤဆောင်းပါးကသင့်အားကူညီပေးပါ။