မကြာခဏဆိုသလိုသုံးစွဲသူထည့်သွင်းမှုသို့မဟုတ်ဖြစ်ရပ်အစပျိုးခြင်းသည် PHP applications များကိုတီထွင်သည့်အခါစနစ်စွမ်းဆောင်ရည်နှင့်တည်ငြိမ်မှုကိုစိန်ခေါ်မှုများပြုလုပ်နိုင်သည်။ System ၏တုန့်ပြန်မှုမြန်နှုန်းနှင့်တည်ငြိမ်မှုကိုတိုးတက်စေရန်အတွက်ကျွန်ုပ်တို့သည်ဆန့်ကျင်ရေးယန္တရားများကိုမိတ်ဆက်ပေးနိုင်သည်။
ဆန့်ကျင်ရေးယန္တရား၏အဓိကနိယာမသည်စစ်ဆင်ရေးများကိုအကောင်အထည်ဖော်ရန်နှောင့်နှေးရန်ဖြစ်သည်။ ဖြစ်ရပ်တစ်ခုသို့မဟုတ် input အသစ်တစ်ခုကိုနှောင့်နှေးနေသည့်အချိန်တွင်အစပျိုးသည်ဆိုပါက၎င်းသည်ပြန်လည်ချိန်ညှိခံရလိမ့်မည်။ ဤယန္တရားသည်အဓိပ္ပာယ်မရှိသောစစ်ဆင်ရေးများကိုထိရောက်စွာလျှော့ချပေးပြီးစနစ်ထိရောက်မှုကိုတိုးတက်စေသည်။
ဆန့်ကျင်သောဆန့်ကျင်ရေးယန္တရားကိုပိုမိုနားလည်ရန်ကျွန်ုပ်တို့သည် PHP ကုဒ်နမူနာမှတစ်ဆင့်၎င်းကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုပြသနိုင်သည်။
ပထမ ဦး စွာကျွန်ုပ်တို့သည် anti-shake ယန္တရားကိုအကောင်အထည်ဖော်ရန် Class ကိုဖန်တီးသည် ။ အတန်း၏ကန့်သတ်ချက်သည် parameter နှစ်ခုကိုလက်ခံသည်။ $ callback သည် နှော င့်နှေးနေရန်လိုအပ်သည့် function သို့မဟုတ်နည်းလမ်းကိုကိုယ်စားပြုသည်။
class Debounce {
private $callback;
private $delay;
private $timer;
public function __construct($callback, $delay) {
$this->callback = $callback;
$this->delay = $delay;
}
public function __invoke() {
if ($this->timer) {
clearTimeout($this->timer);
}
$args = func_get_args();
$this->timer = setTimeout(function() use ($args) {
call_user_func_array($this->callback, $args);
}, $this->delay);
}
}
အထက်ပါကုဒ်များတွင်ကျွန်ုပ်တို့သည် parameter နှစ်ခုကိုကြာအောင် parameter နှစ်ခုကိုဖန်တီးသော di di di diedack အတန်းတစ်ခုဖန်တီးသည်။ အတန်းထဲတွင် __invoke နည်းလမ်းကိုနှောင့်နှေးစစ်ဆင်ရေးကိုဖြစ်ပေါ်စေရန်အသုံးပြုသည်။ အကယ်. သွင်းအားစုအသစ်တစ်ခုပေါ်ပေါက်လာပါကယခင် Timer ကိုဖျက်သိမ်းပြီးပြန်လည်သတ်မှတ်ခြင်းဖြစ်သည်။
ကျွန်ုပ်တို့သည်သုံးစွဲသူထည့်သွင်းခြင်းကဲ့သို့သောတိကျသောစီးပွားရေးယုတ္တိဗေဒကိုအထူးစီးပွားရေးယုတ္တိဗေဒသို့ဆန့်ကျင်ရေးယန္တရားကိုအသုံးပြုရန်ကျွန်ုပ်တို့အသုံးပြုနိုင်သည်။ ကျွန်ုပ်တို့တွင်အသုံးပြုသူရှာဖွေရေးလုပ်ဆောင်ချက်တစ်ခုရှိပြီးအချိန်အတိအကျကိုအသုံးပြုသူစာရိုက်သောအခါရှာဖွေမှုပြုလုပ်ပြီးနောက်ရှာဖွေရေးလုပ်ငန်းကိုလုပ်ဆောင်ရန်မျှော်လင့်ပါသည်။
function searchUser($keyword) {
echo "ရှာဖွေရေးစစ်ဆင်ရေးလုပ်ဆောင်ပါ:{$keyword}";
}
$debouncedSearch = new Debounce('searchUser', 1000); // 1စက္ကန့်အတွင်းနှောင့်နှေး
$keywords = ['abc', 'def', 'ghi', 'jkl'];
foreach ($keywords as $keyword) {
$debouncedSearch($keyword);
}
အထက်ပါကုဒ်များတွင်ရှာဖွေရေးလုပ်ငန်းကိုလုပ်ဆောင်ရန် Searchuser function ကိုသတ်မှတ်ပြီး Search function ကိုခြုံပြီး 1-Secolding function ကိုသတ်မှတ်ရန် diap class ကိုသုံးပါ။ ဆိုလိုသည်မှာအသုံးပြုသူသည် 1 စက္ကန့်ကျော်အတွက် input ကိုရပ်တန့်မှသာရှာဖွေခြင်းစစ်ဆင်ရေးကိုကွပ်မျက်ခံရလိမ့်မည်။
PHP ၏ဆန့်ကျင်ရေးယန္တရားကိုအသုံးချခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်စနစ်စွမ်းဆောင်ရည်နှင့်တည်ငြိမ်မှုဆိုင်ရာမကြာခဏလုပ်ငန်းများ၏အကျိုးသက်ရောက်မှုများ၏အကျိုးသက်ရောက်မှုကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။ ဤနည်းစနစ်သည်အထူးသဖြင့်လုပ်ဆောင်မှုသေတ္တာများ, ပုံစံတင်သွင်းမှုများစသည့်လုပ်ရပ်များ,