Web Development တွင် Code Execution Performance နှင့်မှတ်ဉာဏ်စွမ်းဆောင်ရည်သည်အမြဲတမ်း developer များ၏အာရုံစိုက်မှုဖြစ်သည်။ PHP7 သည်ပျင်းရိအကဲဖြတ်ခြင်းနှင့် 0 ယ်လိုအားမျိုးဆက်မျိုးဆက်များအတွက်ထိရောက်သောဖြေရှင်းနည်းပေးသည့်မီးစက်အင်္ဂါရပ်ကိုမိတ်ဆက်ပေးသည်။ မီးစက်ကိုအသုံးပြုခြင်းသည်မှတ်ဥာဏ်သုံးစွဲမှုကိုလျှော့ချရုံသာမကကုဒ်ကိုရိုးရှင်းလွယ်ကူစွာပြုလုပ်နိုင်သည်။
Generator သည် PHP တွင်အထူး function တစ်ခုဖြစ်သည်။ ၎င်းသည် အထွက်နှုန်း သော့ချက်စာလုံးမှတစ်ဆင့်အချက်အလက်များကိုတဖြည်းဖြည်းချင်းထုတ်လုပ်သည်။ အထွက်နှုန်း ကြေငြာချက်သို့ရောက်သောအခါလုပ်ဆောင်မှုသည်ကွပ်မျက်မှုရပ်တန့်ပြီးလက်ရှိတန်ဖိုးကိုပြန်လည်ရရှိစေသည်။ နောက်တန်ဖိုးကိုလိုအပ်သည့်အခါမီးစက်သည်နောက်ဆုံးအနှောင့်အယှက်ဖြစ်သည့်နေရာမှဆက်လက်လုပ်ဆောင်နေသည်။ ဤယန္တရားကိုပျင်းရိအကဲဖြတ်ခြင်းဟုခေါ်သည်, ဆိုလိုသည်မှာ၎င်းသည်အမှန်တကယ်လိုအပ်သည့်အခါဒေတာကိုသာထုတ်လုပ်သည်။
function generateOddNumbers() {
for ($i = 1; $i <= 10; $i++) {
if ($i % 2 != 0) {
yield $i;
}
}
}
foreach (generateOddNumbers() as $number) {
echo $number . " ";
}
အထက်ပါဥပမာတွင် GenerateDDDDUMUS () function သည် function ကို အထွက်နှုန်း ဖော်ပြချက်မှတဆင့်ကွင်းဆက်ရှိ 0 ယ်လိုအားရှိသည့်နံပါတ်များကိုပြန်ပို့သည်။ fonteach မှတစ်ဆင့်မီးစက်ကိုဖြတ်သန်းသွားသောအခါရလဒ်အသစ်များအားလုံးကိုတစ်ပြိုင်နက်တည်းထုတ်လုပ်မည့်အစားတန်ဖိုးအသစ်တစ်ခုကိုတွက်ချက်ခြင်းနှင့် output ကိုတွက်ချက်သည်။
ရိုးရာခင်းကျင်းနည်းများနှင့်မတူဘဲမီးစက်များသည်ရလဒ်အားလုံးကိုမှတ်ဉာဏ်တွင်မသိမ်းဆည်းပါ။ ၎င်းသည်ဒေတာများကိုတိုးချဲ့ရန်လိုအပ်သည့်ကြီးမားသောဒေတာသို့မဟုတ်အခြေအနေများကိုကိုင်တွယ်ရန်အလွန်ကောင်းမွန်စေသည်။ ဥပမာအားဖြင့်, ဒေတာဘေ့စ် (သို့) API မှအချက်အလက်အမြောက်အများရယူသည့်အခါဒေတာအားလုံးကိုတစ်ပြိုင်နက်တည်းတင်ခြင်းကြောင့်ဖြစ်သောမှတ်ဥာဏ်ဖိအားကိုသင်ရှောင်ရှားနိုင်သည်။
function getData($start, $limit) {
// အရ $start နှင့် $limit paging query ကိုလုပ်ဆောင်ပါ
// အသုံးပြု yield ပြန်ဒေတာရလဒ်များကိုတစ်ခုအားဖြင့်တ ဦး တည်း
while ($row = queryDatabase($start, $limit)) {
yield $row;
}
}
// အသုံးပြု生成器分页处理数据
foreach (getData(0, 10) as $row) {
// တစ်ခုချင်းစီကိုစုံစမ်းမှုရလဒ်ဖြစ်စဉ်ကို
}
ဤဥပမာတွင် GetData () function သည် အထွက်နှုန်း ဖြင့်အချက်အလက်များကိုအဆင့်ဆင့်အဆင့်ဆင့်တင်ဆောင်သည်။ အဓိကပရိုဂရမ်သည် Reale ကိုတစ်ခုအားဖတ်ရှုရန် Foren ကို အသုံးပြုသည်။
စွမ်းဆောင်ရည်တိုးတက်မှုများအပြင်မီးစက်များအပြင် commonator များသည်ကုဒ်ဆိုင်ရာယုတ္တိဗေဒရှင်းလင်းမှုကိုရှင်းလင်းစေသည်။ developer များသည်ရှုပ်ထွေးသောယုတ္တိဗေဒများကိုလွတ်လပ်သောမီးစက်လုပ်ဆောင်ချက်များအဖြစ် ခွဲ. ပေါင်းစပ်ပြီးပိုမိုရှုပ်ထွေးသောလုပ်ဆောင်မှုများကိုအကောင်အထည်ဖော်နိုင်သည်။ ဤစနစ်တကျပရိုဂရမ်ချဉ်းကပ်မှုသည် Code Readability နှင့်ထိန်းသိမ်းမှုကိုတိုးတက်စေသည်။
PHP7 ၏မီးစက်များသည်စွမ်းဆောင်ရည်အကောင်းဆုံးအတွက်ကြော့ရှင်းသောဖြေရှင်းနည်းကိုပေးသည်။ Lazy အကဲဖြတ်ခြင်းကို အထွက်နှုန်း ဖြင့်အကောင်အထည်ဖော်ခြင်းသည်မှတ်ဥာဏ်သုံးစွဲမှုကိုလျှော့ချနိုင်သည်, Execution Exaction Supply ကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်နိုင်သည်။ အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်မီးစက်များကျိုးကြောင်းဆီလျော်သောမီးစက်များအသုံးပြုခြင်းသည်ဒေတာပြုပြင်ခြင်း,
မီးစက်ကိုအသုံးပြုသောအခါကုဒ်၏ဖတ်နိုင်မှုနှင့်ထိန်းသိမ်းခြင်းကိုသေချာစေရန်အတွက် Naming နှင့်လိုအပ်သောမှတ်ချက်များကိုစံသတ်မှတ်ချက်ကိုဂရုပြုသင့်သည်။