PHP ရှိ MVC လမ်းကြောင်းများတွင် Parameters များ
ယခင်သင်ခန်းစာတွင် ကျွန်ုပ်တို့၏လမ်းကြောင်းများသည် သတ်မှတ်ထားသော လိပ်စာများရှိခဲ့သည်။ တကယ်တော့ လမ်းကြောင်းညွှန်ပြခြင်းစနစ်သည် ပိုမိုရှုပ်ထွေးပါသည် - URI ၏တစ်စိတ်တစ်ပိုင်းသည် အမည်ပေးထားသော parameters များထဲသို့ ရောက်ရှိသွားပြီး controller ထဲတွင် နောက်ပိုင်းတွင် ရယူနိုင်စေရန် ပြုလုပ်နိုင်ပါသည်။
ဥပမာအားဖြင့်၊ ကျွန်ုပ်တို့၏လိပ်စာများသည် ဤကဲ့သို့ပုံစံဖြင့် ဖော်ပြပါစေ။ /test/param1/param2/,
ဤတွင် param1 နှင့် param2 တို့သည် စိတ်ကြိုက်
string များဖြစ်သည်။ ဤသို့သောပုံစံရှိသော လိပ်စာများကို controller တစ်ခု၏ action တစ်ခုတည်းဖြင့်
ကိုင်တွယ်ဖြေရှင်းလိုပါသည်။
ထိုသို့ပြုလုပ်ရန် parameter အမည်တစ်ခုကို စဉ်းစားရန်လိုအပ်ပြီး
၎င်း၏ရှေ့တွင် colon ထည့်ရပါမည်၊ ဤကဲ့သို့ဖြစ်သည်။
<?php
use \Core\Route;
return [
new Route('/test/:var1/:var2/', 'page', 'act'),
];
?>
ကျွန်ုပ်တို့၏ကိစ္စတွင်၊ ပုံစံအားလုံး
/test/parameter1/parameter2/
ရှိသော request များသည် act action ပေါ်သို့ ရောက်ရှိသွားပါမည်။
ထိုသို့ဖြစ်လျှင် ဤ action ၏ ပထမ parameter အတွင်းသို့ parameters များပါဝင်သော
associative array တစ်ခုရောက်ရှိလာပါမည်။
ပထမ parameter အရာဝတ္ထု၏နေရာတွင် ရှိမည့်စာသားသည်
'var1' key ပါသော array element ထဲသို့ ရောက်ရှိပြီး
ဒုတိယ parameter ၏စာသားသည် 'var2' ထဲသို့ ရောက်ရှိပါမည်။
ဥပမာအားဖြင့်၊ address bar တွင် အောက်ပါအတိုင်း ရိုက်ထည့်ထားသည်ဆိုပါစို့။ /test/eee/bbb/။
Action ၏ ပထမ parameter တွင် အဘယ်အရာများပါဝင်မည်ကို ကြည့်ကြပါစို့။
<?php
namespace Project\Controllers;
use Core\Controller;
class PageController extends Controller
{
public function act($params)
{
var_dump($params); // ['var1' => 'eee', 'var2' => 'bbb']
}
}
?>
NumController controller တစ်ခုကို ပြုလုပ်ပါ၊
၎င်းအတွင်း၌ sum action ကို ပြုလုပ်ပါ။ ဤ
action သည် အောက်ပါပုံစံရှိသော လိပ်စာများကို ကိုင်တွယ်ဖြေရှင်းပါစေ။
/nums/:n1/:n2/:n3/, ဤတွင် parameters များသည်
ကိန်းဂဏန်းအချို့ ဖြစ်ပါစေ။ ပေးပို့ထားသော ကိန်းဂဏန်းများ၏ ပေါင်းလဒ်ကို
�ခရင်ပေါ်သို့ ထုတ်ပြရန် ပြုလုပ်ပါ။