PHP တွင် Parse_url function သည် URLs များကိုခွဲခြမ်းစိတ်ဖြာခြင်းနှင့် protocols များ,
$url = "https://gitbox.net/path?query=1";
$parts = parse_url($url);
print_r($parts);
ဤကုဒ်သည် URL ၏အစိတ်အပိုင်းများကိုထုတ်လုပ်သည်။
Array
(
[scheme] => https
[host] => gitbox.net
[path] => /path
[query] => query=1
)
သို့သော်တစ်ခါတစ်ရံတွင် Parse_Url သည် မှားယွင်းသော သို့မဟုတ် မှားယွင်းသော အခြေအနေများပြန်လည်ရောက်ရှိသည့်အခြေအနေများကြုံတွေ့ရလိမ့်မည်။ သူတို့စိတ်ရှုပ်ထွေးသွားလိမ့်မည်။ ဤဆောင်းပါးသည်ဤပြန်လည်ထူထောင်ရေးတန်ဖိုးနှစ်ခု၏အဓိပ္ပာယ်နှင့်သက်ဆိုင်သောအခြေအနေများကိုအသေးစိတ်ရှင်းပြပါမည်။
PHP 7.3 နှင့်အထက်တွင်, အဝင် URL format သည်အလွန်အမင်းမှားယွင်းနေပါက Parse_Url သည် မှားယွင်းစွာ တုံ့ပြန်လိမ့်မည်။
$url = "ht!tp:::/invalid-url";
$result = parse_url($url);
var_dump($result); // bool(false)
ဤနေရာတွင် URL ပုံစံသည်သတ်မှတ်ချက်များကိုလိုက်နာခြင်းမဟုတ်ပါ, function ကိုပုံမှန်မခွဲနိုင်ပါ ။
အကျဉ်းချုပ်:
မှားယွင်းသော ပြန်လာခြင်းသည်များသောအားဖြင့်ဖြတ်သန်းသွားသော string ကိုတရားဝင် URL သို့မဟုတ် URI အဖြစ်အသိအမှတ်မပြုနိုင်ခြင်းဖြစ်သည်။
ဘာဖြစ်လို့လဲဆိုတော့ string မှာခွင့်ပြုချက်မရှိဘဲစာလုံးတွေပါ 0 င်တဲ့အတွက်ဖြစ်နိုင်တယ်။
စင်စစ်အားဖြင့် Parse_Url function သည် တရား 0 င် ပြန်ပို့ရန်တရားဝင်စာရွက်စာတမ်းများတွင်အတိအလင်းမဖော်ပြထားပါ။ သို့သော် Parse_Url နှင့် string or String အမျိုးအစားတွင်ဖြတ်သန်းခြင်းကဲ့သို့သောသတ်သတ်မှတ်မှတ်ကိစ္စရပ်များတွင် NULL ပေါ်လာနိုင်သည်။
$url = "";
$result = parse_url($url);
var_dump($result); // NULL သို့မဟုတ်ဗလာခင်းကျင်း,ပေါ်တွင်မူတည်ပါသည် PHP ထင်မြင်ချက်
ထို့အပြင် URL ၏တိကျသောအစိတ်အပိုင်းတစ်ခုဖြစ်ပြီးဤအပိုင်းသည် URL တွင်မတည်ရှိပါက Return Value ၏သက်ဆိုင်ရာအစိတ်အပိုင်းသည် NULL ဖြစ်သည်။
$url = "https://gitbox.net";
$host = parse_url($url, PHP_URL_HOST);
var_dump($host); // string(9) "gitbox.net"
$path = parse_url($url, PHP_URL_PATH);
var_dump($path); // NULL,အကေြာင်းမှာ URL လမ်းကြောင်းအပိုင်းတစ်ပိုင်းမရှိပါ
ဤနေရာတွင်ပြန်လာသော NULL သည်သီးခြားအပိုင်းတစ်ခုအတွက်ရလဒ်ဖြစ်သည်။
အကျဉ်းချုပ်:
NULL ပြန်လာသော URL အစိတ်အပိုင်းတစ်ခုအတွက်တောင်းဆိုမှုတစ်ခုဖြစ်နိုင်သည်။
ထို့အပြင်အချည်းနှီးသော string ကိုသို့မဟုတ်မမှန် parameter သည်လွန်ခဲ့သည့်နေရာများမှာ PHP ဗားရှင်းပေါ်တွင်မူတည်သည်။
Value ကိုပြန်သွားပါ | အဓိပ္ပါယ် | ပုံမှန်အခြေအနေများ |
---|---|---|
မှားသော | URL သည်မမှန်ကန်ပါ။ ခွဲခြမ်းစိတ်ဖြာမရပါ | Input string တွင်တရားမဝင်ဇာတ်ကောင်များသို့မဟုတ်ဖွဲ့စည်းတည်ဆောက်ပုံခြွင်းချက်များပါရှိသည် |
တရားစွာလဲှ | တောင်းဆိုထားသော URL အစိတ်အပိုင်းသည်မတည်ရှိပါသို့မဟုတ်အချည်းနှီးသော string ကိုမရှိပါ | မတည်ရှိသောအစိတ်အပိုင်းတစ်ခုတောင်းဆိုခြင်းသို့မဟုတ်အချည်းနှီးသော string ကိုမလွန်ပါနှင့် |
အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်၎င်းသည်အကြံပြုသည် -
URL string သည်အချည်းနှီးဖြစ်သည်,
Parse_Url ကို ခေါ်ဆိုသောအခါအချို့သောအကွက်များသာလိုအပ်လျှင်ပြန်လည်ရရှိခြင်းသည်ပရိုဂရမ်၏အမှားကိုရှောင်ရှားရန် NULL ဖြစ်သည်ကိုသေချာစွာဆုံးဖြတ်ရန်သေချာပါစေ။
ခွဲခြမ်းစိတ်ဖြာခြင်းမပြုမီ, သင်သည်ပရိုဂရမ်အား 0 င်ရောက်ရန် URL ဖွဲ့စည်းပုံကိုစတင်ရန်ပုံမှန်သို့မဟုတ်စစ်ထုတ်ခြင်းလုပ်ဆောင်ချက်များကိုသုံးနိုင်သည်။
ဥပမာအားဖြင့်:
$url = "https://gitbox.net";
$host = parse_url($url, PHP_URL_HOST);
if ($host === null) {
echo "URL အဘယ်သူမျှမအတွက် host ခဲှခြား\n";
} else {
echo "Host: $host\n";
}
ကျိုးကြောင်းဆီလျော်သောတရားစီရင်ခြင်းအားဖြင့် တရားစွဲဆိုခြင်း သို့မဟုတ် မှားယွင်းသောအမှားများ ကြောင့်ဖြစ်ပေါ်လာသောယုတ္တိအမှားများကိုရှောင်ရှားနိုင်သည်။