Php PHP စီမံကိန်းအမျိုးမျိုးတွင်ကျယ်ကျယ်ပြန့်ပြန့်အသုံးပြုသော open source, object-on-based PHP Development Framework ဖြစ်သည်။ Metherphp5 သည်အရေးကြီးသောဗားရှင်းအနေဖြင့် developer များပိုမိုထိရောက်သောဖွံ့ဖြိုးရေးအတွေ့အကြုံများကိုယူဆောင်လာပြီးစွမ်းဆောင်ရည်နှင့်စွမ်းဆောင်ရည်အရအပြည့်အဝအကောင်းဆုံးဖြစ်သည်။
ဖြစ်ရပ်များသည်အစီအစဉ်စစ်ဆင်ရေးအတွင်းတိကျသောလုပ်ဆောင်ချက်များသို့မဟုတ်ပြည်နယ်များပြောင်းလဲမှုများကိုရည်ညွှန်းသည်။ ဖွံ့ဖြိုးတိုးတက်မှုတွင်ကျွန်ုပ်တို့သည်ဤအဖြစ်အပျက်များကိုတွေ့ရသည့်အခါသက်ဆိုင်ရာယုတ္တိဗေဒကိုလုပ်ဆောင်ရန်ဤဖြစ်ရပ်များကိုနားထောင်ရန်လိုအပ်သည်။ ဥပမာအားဖြင့်အသုံးပြုသူသည်အောင်မြင်စွာအသုံးပြုသူအောင်မြင်စွာမှတ်တမ်းတင်ပြီးသောအခါသို့မဟုတ်အီးမေးလ်ပို့ပြီးနောက်အပြောင်းအလဲတစ်ခုစသည်တို့ကိုစတင်ခဲ့သည်။
TherPhPh5 တွင် Event မှတ်ပုံတင်ခြင်းသည်ကမ္ဘာလုံးဆိုင်ရာဖြစ်ရပ်နှင့်သီးခြားခွဲထုတ်ချက်ဖိုင်သို့မဟုတ်သီးခြား module တစ်ခု၏ဖြစ်ရပ်ဖိုင်တွင်ပြီးစီးနိုင်ပြီး၎င်းသည်ဖြစ်ရပ်၏လျှောက်လွှာနယ်ပယ်အပေါ် အခြေခံ. ဆုံးဖြတ်သည်။
namespace app;
class Event
{
// ဖြစ်ရပ်များမှတ်ပုံတင်ခြင်း
public function register()
{
// အသုံးပြုသူ login ဖြစ်ရပ်များကိုနားထောင်ပါ
\think\Event::listen('user_login', function($userInfo) {
// အသုံးပြုသူလော့လော့ဂ်အင်လုပ်ခြင်းယုတ္တိဗေဒကိုကိုင်တွယ်ပါ
});
}
}
အထက်ဖော်ပြပါကုဒ်သည်ဖြစ်ရပ်လူတန်းစားကိုသတ်မှတ်ပြီး Register Method တွင် User_login ဖြစ်ရပ်ကိုမှတ်ပုံတင်သည်။ အဆိုပါဖြစ်ရပ်ပြုပြင်ခြင်းယုတ္တိဗေဒကိုအမည်မသိ function ကိုမှတစ်ဆင့်အကောင်အထည်ဖော်သည်။
သတ်သတ်မှတ်မှတ်အရေးယူမှုများဖြစ်ပေါ်လာသောအခါအခြားဆက်စပ်သောကုဒ်များကိုတုန့်ပြန်မှုစစ်ဆင်ရေးပြုလုပ်ရန်ဖြစ်ရပ်တစ်ခုကိုဖြစ်ပေါ်စေသည်။
namespace app\controller;
use app\Event;
class User
{
public function login()
{
// အသုံးပြုသူ login စစ်ဆင်ရေးလုပ်ဆောင်ပါ
// အသုံးပြုသူ login ဖြစ်ရပ်ကိုခလုတ်ကိုနှိပ်ပါ
\think\Hook::listen('user_login', $userInfo);
}
}
User_login Event သည် Hook အတန်းအစား၏ နားထောင်ခြင်း နည်းလမ်းကိုနားထောင်ပြီးအသုံးပြုသူသတင်းအချက်အလက်သတ်မှတ်ချက်များကိုဖြတ်သန်းသွားသည်။
ဖြစ်ရပ်အစပျိုးပြီးနောက်, ယခင်မှတ်ပုံတင်ထားသော processing function ကိုကွပ်မျက်ခံရလိမ့်မည်။
namespace app;
class Event
{
// ဖြစ်ရပ်များမှတ်ပုံတင်ခြင်း
public function register()
{
// အသုံးပြုသူ login ဖြစ်ရပ်များကိုနားထောင်ပါ
\think\Event::listen('user_login', function($userInfo) {
// အသုံးပြုသူလော့လော့ဂ်အင်လုပ်ခြင်းယုတ္တိဗေဒကိုကိုင်တွယ်ပါ
// ...
// ဖြစ်ရပ်များမှတုံ့ပြန်မှု,သစ်ခုတ်
\think\Log::write('အသုံးပြုသူအောင်မြင်စွာဝင်ရောက်ပါ');
});
}
}
User_login Event ကိုအစပျိုးသောအခါအသုံးပြုသူ login logic ကိုကွပ်မျက်ပြီးသက်ဆိုင်ရာသတင်းအချက်အလက်များကိုသစ်ခုတ်ခြင်းဖြင့်မှတ်တမ်းတင်ထားသည်။
အဆိုပါဖြစ်ရပ်မောင်းနှင်ဒီဇိုင်းကွဲပြားခြားနားသော module များအကြား code ကိုထိထိရောက်ရောက် code ကိုထိထိရောက်ရောက် System ၏ပြောင်းလွယ်ပြင်လွယ်နှင့်ထိန်းသိမ်းမှုကိုတိုးတက်စေနိုင်သည်။ developer များသည် module များအကြားပျောက်ကွယ်သွားစေရန်ဖြစ်ရပ်များကိုရှာဖွေရန်,
ထို့အပြင် ThinkPhp5 သည် app_phcial Intack တွင်အစပျိုးခြင်းစသည့် app_init ဓိကိုပြုလုပ်သော app_init events နှင့် Module_check ဖြစ်ရပ်များကဲ့သို့သောအဖြစ်အပျက်များစွာတွင်ဘုံလိုအပ်ချက်များကိုဖြည့်ဆည်းပေးရန်လွယ်ကူစေသည့် module_check လုပ်ဖော်ကိုင်ဖက်များပါသည့်အတိုင်းဖြစ်ရပ်များစွာပါဝင်သည်။
ယေဘုယျအားဖြင့် ThinkPhp5 သည်အဖြစ်အပျက်ယန္တရားများကိုအပြည့်အဝထောက်ခံသည်။ ဖြစ်ရပ်မှတ်ပုံတင်ခြင်း, အစပျိုးခြင်းနှင့်တုန့်ပြန်မှုကြောင့် developer များက developer များက code ကိုပိုမိုစုစည်းပြီးဖွံ့ဖြိုးမှုထိရောက်မှုနှင့်ကုဒ်အရည်အသွေးတိုးတက်စေရန်ကူညီနိုင်သည်။ ဖြစ်ရပ်မောင်းသူများ၏ဆင်ခြင်တုံတရားကိုဆင်ခြင်တုံတရားအသုံးပြုခြင်းသည်အသုံးချပရိုဂရမ်များကိုပိုမိုအရွယ်အစားဆွဲဆောင်နိုင်ပြီးထိန်းသိမ်းနိုင်သည်။