PHP တွင် Batch Operations ကိုဖျော်ဖြေတင်ဆက်သည့်အခါ, အပြောင်းအလဲနဲ့လုပ်ငန်းစဉ်အတွင်းအသုံးပြုသူအားတိုးတက်မှုပြရန်လိုအပ်ကြောင်းကိုသင်ကြုံတွေ့ရလေ့ရှိသည်။ Time_Nanosleep function ကိုအသုံးပြုပါမြင့်မားသောအိပ်စက်ခြင်းထိန်းချုပ်မှုကိုရရှိရန်အတွက် Time_Nanosleep function ကိုသုံးပါ။ ဤဆောင်းပါးသည် time_nanosleep ကို အသုံးပြုနည်းကို Time_Nanosleep ကိုအသုံးပြုနည်းကို Gatch Processing လုပ်ငန်းများနှင့်အတူအသုတ်လုပ်ခြင်းလုပ်ငန်းများနှင့်ပေါင်းစပ်ရန်ရိုးရှင်းသော command line progress bar နှင့်ပေါင်းစပ်ပြီးအသုံးပြုရမည်။
Time_nanosleep သည် PHP တွင်အသုံးပြုသော function တစ်ခုဖြစ်သည်။ ၎င်းသည်ပရိုဂရမ်ကိုဒုတိယနှင့် nanosecond အဆင့်တွင်ခေတ္တရပ်တန့်ရန်ခွင့်ပြုသည်။
bool time_nanosleep(int $seconds, int $nanoseconds);
$ စက္ကန့် - Integer စက္ကန့်
$ nanoseconds : nanoseconds, 1 စက္ကန့် = 1 ဘီလီယံ nanoseconds
အိပ်စက်ခြင်း နှင့် USLEEP နှင့်နှိုင်းယှဉ်လျှင် Time_Nanosleep သည် Time_Nanosleep သည်ပိုမိုမြင့်မားသောတိကျမှုအချိန်ကိုထိန်းချုပ်ထားသည်။
100 ကဲ့သို့သောအပြောင်းအလဲများကိုအဆင့်မြှင့်တင်မှုအရေအတွက်ကိုသတ်မှတ်ပါ။
အလုပ်၏တစ်စိတ်တစ်ပိုင်းကိုလုပ်ဆောင်ပြီးနောက် update တိုးတက်မှု bar display ကိုပြသသည်။
အဆင့်တစ်ခုစီ၏လုပ်ဆောင်မှုအချိန်ကို Time_NANOSESEP မှလွယ်ကူစွာသရုပ်ပြရန်အတွက် time_nanosleep မှတဆင့် simulated သည်။
အောက်ပါကုဒ်က command line progress bar ကိုအကောင်အထည်ဖော်ရန် Time_Nanosleep ကို မည်သို့အသုံးပြုရမည်ကိုပြသသည်။
<?php
$totalSteps = 50; // အဆင့်စုစုပေါင်းအရေအတွက်
$barWidth = 40; // တိုးတက်မှုဘားအကျယ်
echo "တစ်သုတ်စစ်ဆင်ရေးစတင်ပါ...\n";
for ($i = 1; $i <= $totalSteps; $i++) {
// Task Processing Time ကိုတုပ,အိပ်နေခြင်း50မီလီစက္ကန့်
time_nanosleep(0, 50 * 1000000);
// တိုးတက်မှုရာခိုင်နှုန်းကိုတွက်ချက်ပါ
$progress = $i / $totalSteps;
$filledLength = round($barWidth * $progress);
// တိုးတက်မှုဘား string ကိုတည်ဆောက်ရန်
$bar = str_repeat("=", $filledLength) . str_repeat(" ", $barWidth - $filledLength);
// output တိုးတက်မှုဘားနှင့်ရာခိုင်နှုန်း,အသုံးပြု "\r" နောက်ကျောလိုင်း၏အစ,dynamic updates များကိုအကောင်အထည်ဖော်ပါ
printf("\r[%s] %.2f%%", $bar, $progress * 100);
flush();
}
echo "\nအသုတ်စစ်ဆင်ရေးပြီးစီးခဲ့သည်!\n";
ပရိုဂရမ်ကို 50 မီလီမီတာနှုန်းဖြင့်ခေတ္တရပ်တန့်ရန် Time_Nanosleep (0, 500000000000000000000000000000) ကို သုံးပါ။
progress bar ၏တက်ကြွသောလန်းဆန်းမှုကိုရရှိရန်လိုင်း၏အစသို့ပြန်သွားရန်ဇာတ်ကောင်များကိုထိန်းချုပ်ရန် အပိုင်းကို သုံးပါ။
PrintF မှ ရလဒ်များသည်တိုးတက်မှုအရက်ဆိုင်များနှင့်ရာခိုင်နှုန်းကို format လုပ်ထားသည်။
flush () output ကိုအချိန်မီပြသကြောင်းသေချာ။
အကယ်. အသုတ်လုပ်ငန်းသည်စစ်ဆင်ရေးတစ်ခုဖြစ်ပါကအိပ်စက်ခြင်းသည်တိကျသောအလုပ် Execute Logic ဖြင့်အစားထိုးနိုင်သည်။
output logs သို့မဟုတ်အမှားမက်ဆေ့ခ်ျများနှင့်အတူပေါင်းစပ်ထားပြီး, debugging နှင့်စောင့်ကြည့်လေ့လာရန်ပိုမိုအထောက်အကူဖြစ်ပါတယ်။
$ Barwidth နှင့် Sleep အချိန်သည်တိုးတက်မှုဘား၏မျက်နှာပြင်အကျိုးသက်ရောက်မှုကိုထိန်းချုပ်ရန်နှင့်မြန်နှုန်းကိုထိန်းချုပ်ရန်ချိန်ညှိနိုင်သည်။
time_nanosleep နှင့်ပတ်သက်သောတရားဝင်စာရွက်စာတမ်းများကိုတွေ့နိုင်သည်။
https://gitbox.net/manual/en/function.time-nanosleep.php