ခေတ်သစ် PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင် Plug-in ဗိသုကာများသည်အထူးသဖြင့်တတ်နိုင်ပြီးပြောင်းလွယ်ပြင်လွယ်လျှောက်လွှာများကိုတည်ဆောက်သည့်အခါဘုံဒီဇိုင်းပုံစံများဖြစ်လာသည်။ Plug-in ဗိသုကာလက်ရာမှတစ်ဆင့်စနစ်၏ထိန်းသိမ်းနိုင်မှုနှင့်ပမာဏကိုသေချာစေရန်လွတ်လပ်သောလည်ပတ်မှုဆိုင်ရာ module များကိုတိုးချဲ့နိုင်ပါသည်။ ဤဆောင်းပါးသည် callback array များထုတ်လုပ်ခြင်းအားဖြင့် plug-in ကိုက်ညီသောလုပ်ဆောင်မှုများကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။
Callback Array များသည် PHP တွင်အလွန်အသုံး 0 င်သောနည်းစနစ်တစ်ခုဖြစ်ပြီးအခြားလုပ်ဆောင်မှုများသို့မဟုတ်အရာဝတ်ထုများကိုပြောင်းလဲခြင်း, Plug-in ကိုက်ညီသည့်လုပ်ဆောင်ချက်တွင် callback arrays များကို plug-in-intelting operations များကိုလုပ်ဆောင်ရန်အတွက် အသုံးပြု. ပြောင်းလွယ်ပြင်လွယ်တိုးချဲ့ခြင်းနှင့်စိတ်ကြိုက်ပြုလုပ်နိုင်သည်။
Callback Array များသည်များသောအားဖြင့်ပုံစံနှစ်မျိုးဖြင့်လာသည်။
string ကိုအဖြစ် function name : ဥပမာ myupunction ။
Object Method : ဥပမာ [$ object, 'method'] ။
ဤ callback arrays များသည်တိကျသောစစ်ဆင်ရေးများပြုလုပ်ရန်အခြားလုပ်ဆောင်ချက်များကိုအခြားလုပ်ဆောင်မှုများသို့ကူးပြောင်းနိုင်သည်။
Plug-in ကိုက်ညီသည့်လုပ်ဆောင်မှုများကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုပိုမိုနားလည်ရန်ကျွန်ုပ်တို့တွင် Plug-ins မှတစ်ဆင့်ကွဲပြားသောတောင်းဆိုမှုများကိုကိုင်တွယ်သောစနစ်တစ်ခုရှိသည်ဆိုပါစို့။ ကျွန်ုပ်တို့သည် callback ခင်းကျင်းမှုနှင့်ကွဲပြားသောတောင်းဆိုမှုများနှင့်အခြေအနေများအရသိရသည်ကိုက်ညီမှုရှိလိမ့်မည်။
ပထမ ဦး စွာကျွန်ုပ်တို့သည် URL သို့မဟုတ်တောင်းဆိုမှုအမျိုးအစားများကဲ့သို့သောသတ်သတ်မှတ်မှတ်အခြေအနေများအပေါ် အခြေခံ. callback function ကိုက်ညီမှုများရှိသည့် callback များကိုသတ်မှတ်သည်။ ဆန္ဒပြပွဲအတွက် URL ကို M66.net နှင့်အစားထိုး။ URL လမ်းကြောင်းမှတဆင့်မည်သည့် plitin ကိုဖြစ်ပေါ်စေသည်ကိုဆုံးဖြတ်ကြသည်။
<?php
// plugin callback function ကိုခင်းကျင်း
$pluginCallbacks = [
'plugin1' => ['url' => '/plugin1/action', 'callback' => 'plugin1Action'],
'plugin2' => ['url' => '/plugin2/action', 'callback' => 'plugin2Action'],
'plugin3' => ['url' => '/plugin3/action', 'callback' => 'plugin3Action']
];
// လက်ရှိဝင်ရောက်ကြည့်ရှုပါ URL(ဥပမာအားဖြင့်, တောင်းဆိုမှုမှရယူပါ)
$currentUrl = '/plugin2/action'; // လက်ရှိကြောင်းယူဆ URL အတွက် plugin2
// dynamic ကိုက်ညီတဲ့ callback
foreach ($pluginCallbacks as $plugin => $data) {
if (strpos($currentUrl, $data['url']) !== false) {
// ကိုက်ညီ plugin ကိုရှာပါ,၎င်း၏ callback function ကိုခေါ်ပါ
call_user_func($data['callback']);
break;
}
}
// plugin callback function ကိုအဓိပ္ပါယ်
function plugin1Action() {
echo "Executing plugin 1 action!";
}
function plugin2Action() {
echo "Executing plugin 2 action!";
}
function plugin3Action() {
echo "Executing plugin 3 action!";
}
?>
အထက်ပါကုဒ်တွင်ပထမ ဦး စွာကျွန်ုပ်တို့သည် plugin အမည်, URL လမ်းကြောင်းနှင့် callback function ပါ 0 င်သည့် callback array -mostcandallbacks ကိုသတ်မှတ်သည်။ ထို့နောက်ကျွန်ုပ်တို့သည်လက်ရှိတောင်းဆိုထားသော URL (ဥပမာ / plugin2 / action ) ကိုတုပသည်။ ထို့နောက်လက်ရှိ URL တွင်လက်ရှိ URL တွင်ပါ 0 င်ခြင်းရှိမရှိနှင့်အတူ strows () function ကိုသုံးပါ။ အကယ်. ပွဲကိုအောင်မြင်စွာအောင်မြင်ပါကသက်ဆိုင်ရာ callback function ကို dynamically ဟုခေါ်သည်။
Callback Arrays ၏ဒီဇိုင်းသည် URLs နှင့် callback function များကို အခြေခံ. ကျွန်ုပ်တို့ plugin ကိုအချိန်မရွေးတိုးချဲ့နိုင်သည်။
<?php
// Plugin အသစ်ထည့်ပါ
$pluginCallbacks['plugin4'] = ['url' => '/plugin4/action', 'callback' => 'plugin4Action'];
// plugin callback function ကို
function plugin4Action() {
echo "Executing plugin 4 action!";
}
?>
ဤနည်းအားဖြင့်ကျွန်ုပ်တို့သည်စနစ်ကိုအလွယ်တကူချဲ့ထွင်နိုင်ပြီး plug-ins အသစ်ကိုထည့်သွင်းနိုင်ပြီးမူလ system code သို့အဓိကပြုပြင်မွမ်းမံခြင်းများမရှိပါ။
callback array များကို plug-in ကိုက်ညီသည့်လုပ်ဆောင်မှုများကိုအကောင်အထည်ဖော်ရန်အောက်ပါအားသာချက်များရှိသည်။
အားကြီးသော decoupling : plug-in ၏ယုတ္တိဗေဒသည်စနစ်၏အခြားအစိတ်အပိုင်းများနှင့်မသက်ဆိုင်ဘဲပြောင်းလွယ်ပြင်လွယ်တိုးချဲ့ခြင်းနှင့်အစားထိုးနိုင်သည်။
မြင့်မားသောထိန်းသိမ်းမှု - plug-in တစ်ခုစီကိုတီထွင်နိုင်, စမ်းသပ်ခြင်းနှင့်ထိန်းသိမ်းထားခြင်းတို့ကိုသီးခြားစီပြုလုပ်နိုင်ပြီးသီးခြားစီခွဲစိတ်ကုသမှုကိုမထိခိုက်စေနိုင်ပါ။
ချဲ့ထွင်ရန်လွယ်ကူသည် - callback ခင်းကျင်းသောဒြပ်စင်အသစ်များကိုထည့်ခြင်းဖြင့် plug-ins သို့မဟုတ် features အသစ်များကိုလျင်မြန်စွာထည့်နိုင်သည်။
ပြောင်းလွယ်ပြင်လွယ် - callback arrays သည် plugins များကိုကွပ်မျက်ခြင်းနှင့်ပြောင်းလွယ်ပြင်လွယ်ပြောင်းလဲခြင်းနှင့်ပြောင်းလွယ်ပြင်လွယ်ဖြစ်စေသည့်နှင့်ပြောင်းလွယ်ပြင်လွယ်များကိုကွဲပြားခြားနားသောအခြေအနေများသို့မဟုတ်တောင်းဆိုမှုများအပေါ် အခြေခံ. တိကျသောစစ်ဆင်ရေးများကိုပြုလုပ်နိုင်သည်။
callback arrays များကို plug-in ကိုက်ညီသည့်လုပ်ဆောင်မှုများကိုအကောင်အထည်ဖော်ရန်အတွက်ထုတ်ပေးသည်။ ၎င်းသည် PHP application များ၏ပမာဏနှင့်ပြောင်းလွယ်ပြင်လွယ်မှုကိုများစွာတိုးတက်စေနိုင်သည်။ Callback function များကို URL မှမြေပုံရေးဆွဲခြင်းဖြင့်ကျွန်ုပ်တို့သည် plug-in ကိုမြန်ဆန်စွာ တင်. လုပ်ဆောင်နိုင်ပြီးခက်ခဲသော coding နှင့် coding နှင့် system ထိန်းသိမ်းခြင်းကိုရှောင်ရှားနိုင်သည်။ ဤဆောင်းပါးတွင်မိတ်ဆက်ခြင်းသည် PHP တွင် plp လုပ်ခြင်းလုပ်ငန်းများကိုမည်သို့အကောင်အထည်ဖော်နိုင်မည်ကိုပိုမိုနားလည်သဘောပေါက်ရန်ပိုမိုနားလည်ရန်ကူညီနိုင်သည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။