PHP တွင်ကွန်ယက်တောင်းဆိုမှုများအတွက်ဆံပင်ကောက်ကောက်ကိုအသုံးပြုခြင်းသည်အထူးသဖြင့်ပြင်ပ APIs နှင့်ဆက်သွယ်ရန်လိုအပ်သည့်အခါအလေ့အကျင့်တစ်ခုဖြစ်သည်။ သို့သော်သင်သည်မစင်ကြယ်သောဆံပင်ကောက်ကောက်ကိုမပိတ်ပါက၎င်းသည်မှတ်ဉာဏ်ပေါက်ကြားမှုသို့မဟုတ်အရင်းအမြစ်များကိုဖြုန်းတီးစေနိုင်သည်။ ဤဆောင်းပါးသည် curl_close function ကိုမှန်ကန်စွာမည်သို့မှန်ကန်စွာအသုံးပြုရမည်ကိုအသေးစိတ်ရှင်းပြပါမည်။
အခြေခံအကျဆုံးအသုံးပြုမှုမြင်ကွင်းတွင်ဆံပင်ကောက်ကောက်ကိုပိတ်ခြင်းသည်အလွန်ရိုးရှင်းပါသည်။
$ch = curl_init('https://gitbox.net/api/data');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
ဤကုဒ်သည်တောင်းဆိုမှုပြီးဆုံးပြီးနောက်ချက်ချင်း curl_close ကို အသုံးပြု. လက်ကိုင်ကိုပိတ်ထားသည်။ ၎င်းကိုအကြံပြုသည်။
တောင်းဆိုမှုများကိုသင်ပို့ရန်လိုအပ်သည့်အခါသင်များသောအားဖြင့် loop ကိုသုံးလေ့ရှိပြီးပိတ်ထားသောလက်ကိုင်ကိုလက်လွတ်ရန်လွယ်ကူသည်။
$urls = [
'https://gitbox.net/api/user/1',
'https://gitbox.net/api/user/2',
'https://gitbox.net/api/user/3',
];
foreach ($urls as $url) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
// သင်မေ့သွားလျှင် curl_close($ch),တစ်ခုချင်းစီကိုသိန်းတစ် ဦး ဖြန့်ချိမရရှိသောအရင်းအမြစ်ကိုစွန့်ခွာ
}
ဤကိစ္စတွင်တစ်ခုချင်းစီကိုကြားသိရပြီးနောက်လက်ကိုင်ကိုကိုယ်တိုင်ပိတ်ထားရမည် -
foreach ($urls as $url) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch); // လက်ကိုင်ကိုပိတ်ရန်သေချာပါစေ
}
အကယ်. သင်သည် curl_multi_init ကို အသုံးပြု. တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများကိုအကောင်အထည်ဖော်ရန်သင်အသုံးပြုနေပါက,
$multiHandle = curl_multi_init();
$curlHandles = [];
$urls = [
'https://gitbox.net/api/task/1',
'https://gitbox.net/api/task/2',
'https://gitbox.net/api/task/3',
];
foreach ($urls as $url) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_multi_add_handle($multiHandle, $ch);
$curlHandles[] = $ch;
}
// တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများဖျော်ဖြေ
$running = null;
do {
curl_multi_exec($multiHandle, $running);
curl_multi_select($multiHandle);
} while ($running > 0);
// ဖယ်ရှားခြင်းနှင့်လက်ကိုင်အားလုံးကိုဖယ်ရှားလိုက်ပါ
foreach ($curlHandles as $ch) {
curl_multi_remove_handle($multiHandle, $ch);
curl_close($ch); // ဒီမှာပိတ်ထားဖို့သော့ချက်ခြေလှမ်းများဖြစ်ကြသည်
}
curl_multi_close($multiHandle);
ဤနေရာတွင် curl_close ($ ch) အပြင်, သင့်အားလုံခြုံစွာပိတ်ထားရန်လက်ကိုင်ကိုဖယ်ရှားရန် Curl_multi_remove_handle ကို ပထမဆုံးခေါ်ဆိုရမည်။
လက်ကိုင်ကိုပိတ်ရန်ကိုယ်တိုင်မမေ့လျော့ရှောင်ရှားရန် function ကိုအပြီးတွင်အရင်းအမြစ်များပိတ်ထားရန်သေချာစေရန်တောင်းဆိုမှုလုပ်ငန်းစဉ်ကို function တစ်ခု၏တောင်းဆိုမှုဖြစ်စဉ်ကိုသင်ခန်းစာယူနိုင်သည်။
function fetchUrl($url) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch); // function ကိုအတွင်းရှိအရင်းအမြစ်ကိုပိတ်ထားကြောင်းသေချာပါစေ
return $response;
}
$data = fetchUrl('https://gitbox.net/api/config');
တောင်းဆိုမှုကိုပျက်ကွက်လျှင် ပင်လက်ကိုင်ကိုပိတ်ရန်အမြဲတမ်း curl_close () ကို အမြဲခေါ်ပါ ။
မျိုးစုံလက်ကိုင်တစ်ပြိုင်နက်တည်းကို အသုံးပြုသော အခါ curl_close ကို လက်လွတ်မထားပါနဲ့။
သင် curl_multi_ ကို အသုံးပြုပါက curl_multi_remove_handle ကို အရင်ဆုံးသုံးပါ။ ထို့နောက် curl_close curl_close ။
သန့်ရှင်းရေးလုပ်ငန်းကိုပြည်တွင်း၌ပြုလုပ်ရန်နှင့်ပျက်ကွက်မှုအန္တရာယ်ကိုလျှော့ချရန်သေချာစေရန်တတ်နိုင်သမျှ lettion ကို encapsult encapsult ။
အရင်းအမြစ်များကိုမှန်ကန်စွာဖြန့်ချိခြင်းသည် script ၏ထိရောက်မှုနှင့်ကြံ့ခိုင်မှုကိုတိုးတက်စေရုံသာမကဆာဗာတွင်အရင်းအမြစ်ယိုစိမ့်မှုအန္တရာယ်ကိုရှောင်ရှားနိုင်သည်။ ၎င်းသည်များစွာသောချည်သို့မဟုတ်အကြီးစားတောင်းဆိုမှုများကိုတောင်းဆိုသောအခြေအနေများတွင်အထူးသဖြင့်အရေးကြီးသည်။ ကောင်းမွန်သော coding အလေ့အထများနှင့်ဖွဲ့စည်းတည်ဆောက်ပုံဆိုင်ရာဒီဇိုင်းများဖြင့်ဆံပင်ကောက်ကောက်တိုင်းကိုမှန်ကန်စွာပိတ်ထားရန်လွယ်ကူသည်။