Phalcon Event Manager Manager ၏ခြုံငုံသုံးသပ်ချက်အကောင်အထည်ဖော်ရေးပုံစံများ
ဖြစ်ရပ်မန်နေဂျာသည် Phalcon Framework တွင် flexible core အစိတ်အပိုင်းတစ်ခုဖြစ်သည်။ ဖြစ်ရပ်များကိုနားထောင်ခြင်းနှင့်တုံ့ပြန်ခြင်းအားဖြင့် developer များသည်တစ် ဦး နှင့်တစ် ဦး တိုက်ရိုက်မှီခိုခြင်းမရှိဘဲကွဲပြားခြားနားသော module များအကြားပြောင်းလွယ်ပြင်လွယ်ဆက်သွယ်ရေးယန္တရားများကိုထူထောင်နိုင်သည်။
ဤဆောင်းပါးသည် Phalcon တွင် Obsercon တွင်အကောင်အထည်ဖော်သူစနစ်ကိုအကောင်အထည်ဖော်ရန် Event Manager ကိုမည်သို့အသုံးပြုရမည်နည်း,
အဆင့် 1 - Phalcon ပတ် 0 န်းကျင်ကိုမှန်ကန်စွာတပ်ဆင်ထားကြောင်းသေချာပါစေ
သင်မစတင်မီ Phalcon မူဘောင်ကိုတပ်ဆင်ခြင်းနှင့်ပြင်ဆင်ခြင်းကိုသင်ပြီးစီးခဲ့သည်ကိုသေချာအောင်လုပ်ပါ။ အကယ်. ၎င်းကို install လုပ်ခြင်းမရှိသေးပါကသက်တမ်းတိုးခြင်းနှင့်စီမံကိန်းစတင်ရန်အတွက်တရားဝင်စာရွက်စာတမ်းများရှိညွှန်ကြားချက်များကိုဖတ်ရှုပါ။
အဆင့် 2: Event နားထောင်သူဖန်တီးပါ
Developer များသည် developer များအားနှင့်သက်ဆိုင်သောအတန်းများကိုအမွေဆက်ခံခြင်းနှင့် callback method များကိုသတ်မှတ်ခြင်းဖြင့်ပွဲကိုနားထောင်ခြင်းယုတ္တိဗေဒကိုအကောင်အထည်ဖော်ရန်ခွင့်ပြုသည်။ အောက်ပါဥပမာတွင်ကျွန်ုပ်တို့သည်ဖြစ်ရပ်အစပျိုးခြင်းမပြုမီနှင့်အပြီးလုပ်ဆောင်ခြင်းနည်းလမ်းများပါ 0 င်သည့် `MyListener ၏အတန်းကိုသတ်မှတ်သည်။
use Phalcon\Events\Event;
use Phalcon\Mvc\User\Component;
class MyListener extends Component
{
public function beforeNotify(Event $event, $source, $data)
{
echo "ကွပ်မျက်မီ,အရင်းအမြစ်အရာဝတ်ထု:" . get_class($source) . ",အချက်များ:" . $data . "<br>";
}
public function afterNotify(Event $event, $source, $data)
{
echo "ကွပ်မျက်ပြီးနောက်,အရင်းအမြစ်အရာဝတ်ထု:" . get_class($source) . ",အချက်များ:" . $data . "<br>";
}
}
ဤနားထောင်သူသည်သက်ဆိုင်ရာသတင်းအချက်အလက်များကို ယခင်က နှင့်သက်ဆိုင်သောနည်းလမ်းများနှင့် မွန်းလွဲမှားခြင်းများကို ပြုလုပ်သည်။
အဆင့် 3: နားထောင်သူကိုအဖြစ်အပျက်ကိုချည်နှောင်ပါ
နားထောင်သူကိုဖတ်ပြီးနောက်သင်ကသတ်သတ်မှတ်မှတ်ဖြစ်ရပ်မှန်ကိုချည်နှောင်ရန်လိုအပ်သည်။ ၎င်းကို `Attack ()` `` `) ဖြစ်ရပ်မန်နေဂျာ၏` `` `` နည်းလမ်းဖြင့်တဆင့်အကောင်အထည်ဖော်နိုင်သည်။
use Phalcon\Events\Manager;
$eventsManager = new Manager();
$myListener = new MyListener();
$eventsManager->attach('notify:before', $myListener);
$eventsManager->attach('notify:after', $myListener);
အထက်ဖော်ပြပါကုဒ်သည်အပြင်းအထန်အားဖြင့်အကြောင်းကြားစာနှစ်ခုသို့ ဒေါ်လာ Mylistener ကို Binds မှဖြစ်သည် ။ ယခင်က နှင့် အကြောင်းကြားခြင်း - ထိုအဖြစ်အပျက်ကိုအစပျိုးလိုက်သောအခါနားထောင်သူသည်သက်ဆိုင်ရာနည်းလမ်းကိုလုပ်ဆောင်လိမ့်မည်။
အဆင့် 4: ဖြစ်ရပ်ကိုအစပျိုး
ဖြစ်ရပ်ကိုဖြည့်စွက်ပြီးပါကထိုအဖြစ်အပျက်ကို `fire ()` `` `နည်းလမ်းကိုလိုအပ်သောနေရာ၌ အသုံးပြု. အစပျိုးနိုင်သည်။ ဤတွင်ဖြစ်ရပ်တစ်ခုကိုဖြစ်ပေါ်စေသောဥပမာတစ်ခုဖြစ်သည်။
$eventsManager->fire('notify:before', $someObject, 'Some Data');
$eventsManager->fire('notify:after', $someObject, 'Some Data');
ဤတွင် $ FioObject သည်အဖြစ်အပျက်၏အရင်းအမြစ်တစ်ခုဖြစ်ပြီး 'အချို့ဒေတာ " သည် Passed Data ဖြစ်သည်။ နားထောင်သူသည်ဤအချက်အလက်များကိုလုပ်ဆောင်ရန်ဖြစ်ရပ်အမျိုးအစားအရသက်ဆိုင်ရာနည်းလမ်းကိုခေါ်ဆိုလိမ့်မည်။
Execution Effect ၏ preview
အထက်ပါကုဒ်ကိုဖွင့်ပြီးနောက်အောက်ပါ output ကိုတွေ့ရလိမ့်မည်။
ကွပ်မျက်မီ,အရင်းအမြစ်အရာဝတ်ထု:SomeObject,အချက်များ:Some Data
ကွပ်မျက်ပြီးနောက်,အရင်းအမြစ်အရာဝတ်ထု:SomeObject,အချက်များ:Some Data
အကျဉ်းချုပ်
ဤဆောင်းပါးမှတစ်ဆင့် Phalcon မူဘောင်တွင်အဖြစ်အပျက်မန်နေဂျာကို အသုံးပြု. လေ့လာသူပုံစံကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုကျွန်ုပ်တို့နားလည်ပါသည်။ Events လုပ်ရပ်များမည်သို့ဖန်တီးရမည်နည်း, ဖြစ်ရပ်များနှင့်အစပျိုးမှုယန္တရားများကိုချည်နှောင်ခြင်းစသည်ဖြင့်ဤဒီဇိုင်းပုံစံသည် module များအကြားဆက်နွယ်မှုကိုလျှော့ချရန်သာမကလျှောက်လွှာဗိသုကာ၏ပြောင်းလွယ်ပြင်လွယ်မှုနှင့်ထိန်းသိမ်းခြင်းကိုလည်းတိုးတက်စေသည်။ ပိုမိုကြော့ရှင်းသောအဖြစ်အပျက်များဖြစ်သောဗိသုကာပညာကိုရရှိရန်သင်၏စီမံကိန်းတွင်ဤယန္တရားကိုသင်ပြောင်းလွယ်ပြင်လွယ်ရှိနိုင်သည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။