PHP applications များကိုတီထွင်သည့်အခါ processing urls သည်အလွန်အသုံးများသောအလုပ်ဖြစ်သည်။ routing system တစ်ခုတည်ဆောက်ခြင်းသို့မဟုတ်စုံစမ်းမှုဆိုင်ရာသတ်မှတ်ချက်များကိုရယူခြင်းသည် fixs query parsters () နှင့် Parse_Str_Str_Str_Str) ကို အသုံးပြု. နားလည်မှုနှင့်ကျိုးကြောင်းဆီလျော်စွာရယူခြင်းရှိမရှိ, ဤဆောင်းပါးသည်၎င်း၏အစိတ်အပိုင်းများနှင့်စုံစမ်းမှုဆိုင်ရာသတ်မှတ်ချက်များကိုထုတ်ယူခြင်း,
Parse_Url () သည် PHP built-in function ကို၎င်း၏အစိတ်အပိုင်းများကို၎င်း၏အစိတ်အပိုင်းများအဖြစ်ခွဲခြမ်းစိတ်ဖြာခြင်းဖြစ်သည်။ အောက်ပါဖြစ်နိုင်သောသော့များပါ 0 င်သည့် Associative ခင်းကျင်းမှုကိုပြန်လည်ရယူသည်။
Scheme : HTTP သို့မဟုတ် https ကဲ့သို့သော protocol
Host : GitBox.net ကဲ့သို့သော Host အမည်
Port : 80 သို့မဟုတ် 443 ကဲ့သို့သော port နံပါတ်
အသုံးပြုသူ - အသုံးပြုသူအမည်
Pass : စကားဝှက်
လမ်းကြောင်း : လမ်းကြောင်းအပိုင်း
Query : Query String (I.E. မေးခွန်းအမှတ်အသားပြီးနောက်အပိုင်း )
အပိုင်းအစ : ကျောက်ဆူးအမှတ် (I.E. )
ဥပမာ -
$url = 'https://user:[email protected]:8080/path/to/resource.php?user_id=123&token=abc#section2';
$parsedUrl = parse_url($url);
print_r($parsedUrl);
output ရလဒ်သည်ဆင်တူသည်။
Array
(
[scheme] => https
[host] => gitbox.net
[port] => 8080
[user] => user
[pass] => pass
[path] => /path/to/resource.php
[query] => user_id=123&token=abc
[fragment] => section2
)
Parse_Str () query querts strings quertive strings များခွဲခြမ်းစိတ်ဖြာရန်အသုံးပြုသည်။ များသောအားဖြင့်ကျွန်ုပ်တို့သည် Parse_Url () ၏ပြန်လာရလဒ်မှ စုံစမ်းမှု အပိုင်းကို အသုံးပြု. အသုံးပြုရန်အတွက် Parse_Str () သို့သွားပါ။
ဥပမာ -
$queryString = $parsedUrl['query'];
parse_str($queryString, $queryParams);
print_r($queryParams);
ရလဒ်ရလဒ် -
Array
(
[user_id] => 123
[token] => abc
)
ဤအချက်မှာကျွန်ုပ်တို့သည် ဒေါ်လာူမန်မိာိုံင်ငံဘေ့စ် ['user_id'] ကဲ့သို့သော $ iderpara] သို့မဟုတ် $ iderarparam ['Token' ကဲ့သို့သောအလွယ်တကူရယူနိုင်သည်။ ]
Code Reusability ကိုတိုးတက်စေရန်ကျွန်ုပ်တို့သည် function တစ်ခုကို oncapsulate လုပ်နိုင်သည်, URL string တစ်ခုတွင် Pass ကို ဖြတ်. အစိတ်အပိုင်းများနှင့်ခွဲခြမ်းစိတ်ဖြာမှုဆိုင်ရာသတ်မှတ်ချက်များပါ 0 င်သောသတင်းအချက်အလက်များကိုပြန်ပို့ပါ။
function parseFullUrl($url) {
$parsed = parse_url($url);
if (isset($parsed['query'])) {
parse_str($parsed['query'], $parsed['query_params']);
} else {
$parsed['query_params'] = [];
}
return $parsed;
}
// နမူနာ
$url = 'https://gitbox.net/search?lang=php&sort=desc';
$result = parseFullUrl($url);
print_r($result);
ရလဒ်ရလဒ် -
Array
(
[scheme] => https
[host] => gitbox.net
[path] => /search
[query] => lang=php&sort=desc
[query_params] => Array
(
[lang] => php
[sort] => desc
)
)
လမ်းကြောင်းခွဲခြမ်းစိတ်ဖြာခြင်း - မည်သည့် Controller နှင့်နည်းလမ်းကို လမ်းကြောင်း အပိုင်းပေါ်တွင် အခြေခံ. မည်သည့် controller နှင့်နည်းလမ်းကိုသင်ဆုံးဖြတ်နိုင်သည်။
Interface လုံခြုံရေး - အတည်ပြုရန်အတွက် query_params မှလက်မှတ်ထိုးခြင်းသို့မဟုတ်လက်မှတ်ကွင်းဆင်းများကိုထုတ်ယူပါ။
Page Jump Prousture - Referrer (သို့) callback URL ကိုခွဲခြမ်းစိတ်ဖြာခြင်းဖြင့်၎င်း၏တရားဝင်မှုနှင့် parameter သမာဓိကိုအတည်ပြုပါ။
Parse_Url () သည် URL ၏တရားဝင်မှုကိုအတည်ပြုလိမ့်မည်မဟုတ်ပါ။
မပြည့်စုံသော,
Parse_Str () () သည် လက်ရှိနယ်ပယ်တွင် variable များကို overwrite လုပ်လိမ့်မည်။
Parse_URL () နှင့် parse_str) ကိုပေါင်းစပ်ပြီး untocol, host query parameters များစသည့်အချက်အလက်များကိုအလွယ်တကူရနိုင်သည်။ သူတို့၏အသုံးပြုမှုတွင်ကျွမ်းကျင်မှုသည်သင်၏ PHP ဖွံ့ဖြိုးတိုးတက်မှုအတွက်ပိုမိုမြင့်မားသောစွမ်းဆောင်ရည်နှင့်ပိုမိုရှင်းလင်းသောယုတ္တိရှိရှိဖွဲ့စည်းပုံကိုဆောင်ကြဉ်းပေးလိမ့်မည်။