မျက်မှောက်ခေတ် Web Development တွင်စွမ်းဆောင်ရည်ကောင်းမွန်မှုသည်အမြဲတမ်းအရေးကြီးသောအကြောင်းအရာဖြစ်သည်။ အထူးသဖြင့် HTTP တောင်းဆိုမှုများကိုစတင်ရန်လိုအပ်သည့်အခါ, PHP သည် curl_multi_ * စီးရီးလုပ်ဆောင်ချက်များသည် developer များကိုတစ်ချိန်တည်းတွင်တောင်းဆိုမှုများကိုများစွာတိုးတက်အောင်လုပ်နိုင်သည် ။
Curl_multi_close ၏အသုံးပြုမှုအကြောင်းပိုမိုလေ့လာကြည့်ကြပါစို့နှင့်တစ်ပြိုင်နက်တည်း http တောင်းဆိုမှုများကိုမည်သို့စီမံရမည်ကိုရှင်းပြရန်အမှန်တကယ်ဥပမာဖြင့်ပေါင်းစပ်ပါ။
PHP တွင် curl_mamulti_close () သည် ဆံပင်ကောက်ကောက်အမျိုးမျိုးကို ပိတ်ရန်အသုံးပြုသော function တစ်ခုဖြစ်သည်။ curl_multi_init ကို သုံး. Multi လက်ကိုင်ကိုဖန်တီးသောအခါ curl_multi_add_addle () တစ်ပြိုင်နက်တည်းလုပ်ဆောင်ရန်သီးခြားဆံပင်ကောက်ကောက်အမျိုးမျိုးကိုထည့်သွင်းပါ ။
တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများ၏ပုံမှန်အတိုင်းအပြည့်အဝအပြည့်အဝဖြစ်စဉ်မှာအောက်ပါအတိုင်းဖြစ်သည် -
Multi Multi Multi ။
မျိုးစုံလွယ်ကူသောလက်ကိုင်များကိုဖန်တီးပြီးသက်ဆိုင်ရာ URL နှင့် options များကိုသတ်မှတ်ပါ။
Multi Multi Multi Multipi မှလွယ်ကူစွာကိုင်တွယ်ပါ။
Multi လက်ကိုင်ကို execute ။
လွယ်ကူသောလက်ကိုင်တစ်ခုချင်းစီကိုဖယ်ရှားခြင်းနှင့်ပိတ်ပါ။
နောက်ဆုံးတွင် multi လက်ကိုင် ( curl_maulti_close () ) ကိုပိတ်ပါ။
Curlfulti_close () ကို မည်သို့ကောင်းမွန်စွာအသုံးပြုရမည်ကိုပြသသောပြည့်စုံသောဥပမာတစ်ခုမှာတစ်ပြိုင်နက်တည်း http တောင်းဆိုမှုများကိုစီမံခန့်ခွဲရန်
<?php
// တောင်းဆိုခံရဖို့ URL စာရင်း
$urls = [
'https://gitbox.net/api/data1',
'https://gitbox.net/api/data2',
'https://gitbox.net/api/data3',
];
// ဖြစ်ပေါ်လာခြင်း multi handle
$multiHandle = curl_multi_init();
$curlHandles = [];
// ဖြစ်ပေါ်လာခြင်း每个 cURL easy handle,နှင့်ထည့်ပါ multi handle
foreach ($urls as $i => $url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_multi_add_handle($multiHandle, $ch);
$curlHandles[$i] = $ch;
}
// ကရိယာတန်းဆာ multi handle
$running = null;
do {
$status = curl_multi_exec($multiHandle, $running);
if ($running) {
// တက်ကြွစွာဆက်သွယ်မှုကိုစောင့်ဆိုင်း
curl_multi_select($multiHandle);
}
} while ($running > 0);
// ထုတ်ယူခြင်းရလဒ်များ
foreach ($curlHandles as $ch) {
$content = curl_multi_getcontent($ch);
$info = curl_getinfo($ch);
echo "မေးမြန်း URL: " . $info['url'] . PHP_EOL;
echo "HTTP အခြေအနေကုဒ်: " . $info['http_code'] . PHP_EOL;
echo "အကြောင်းအရာကိုပြန်သွားပါ: " . substr($content, 0, 100) . "..." . PHP_EOL;
echo str_repeat("-", 50) . PHP_EOL;
// ဖယ်ရှားခြင်းနှင့်ပိတ်ပါ easy handle
curl_multi_remove_handle($multiHandle, $ch);
curl_close($ch);
}
// ရုပ်သိမ်းခြင်း multi handle
curl_multi_close($multiHandle);
?>
လွယ်ကူသောလက်ကိုင်များအားလုံးဖယ်ရှားခံရပြီးနောက် curl_multi_close () ကို သေချာစွာခေါ်ပါ။
သင် curl_multi_close () ကို ဖုန်းဆက်ရန်မေ့သွားပါကအရင်းအမြစ်ကို PHP မှအလိုအလျောက်ဖြန့်ချိနိုင်သော်လည်းအထူးသဖြင့်ရေရှည်လည်ပတ်မှုသို့မဟုတ်မြင့်မားသောတစ်ပြိုင်တည်းလည်ပတ်မှုသို့မဟုတ်မြင့်မားသောတစ်ပြိုင်နက်တည်းပတ်ဝန်းကျင်တွင်ဖြစ်သည်။
curl_multi_close () သည် ထပ်ဆောင်းလွယ်ကူသောလက်ကိုင်များကိုအလိုအလျောက်မပိတ်ပါ။ ထို့ကြောင့်လက်ကိုင်ပေါင်းစုံကိုမပိတ်မီလွယ်ကူသောလက်ကိုင်တစ်ခုစီကိုကိုယ်တိုင်ဖယ်ရှားပြီးပိတ်ထားရန်လိုအပ်သည်။
curl_multi_close () ကို စနစ်တကျသုံးခြင်းအားဖြင့်, တစ်ပြိုင်နက်တည်း http တောင်းဆိုမှုကိုစီမံခန့်ခွဲမှုသည်ထိရောက်သောနှင့်လုံခြုံမှုရှိကြောင်းသေချာစေရန်ဖြစ်နိုင်သည်။ သတိရပါ, တောင်းဆိုမှုများအားလုံးကို curl_multi ဖြင့်ပြုလုပ်ထားသောအခါ, သင်၏အစီအစဉ်အားကောင်းခြင်းနှင့်စွမ်းဆောင်ရည်ကိုထိန်းသိမ်းရန်လက်ကိုင်အရင်းအမြစ်များကိုသန့်ရှင်းအောင်လုပ်ပါ။