လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ပြီးပြည့်စုံသော URLs များကိုခွဲခြမ်းစိတ်ဖြာရန် Parse_Url နှင့် Parse_Sts ကိုပေါင်းစပ်ခြင်း

ပြီးပြည့်စုံသော URLs များကိုခွဲခြမ်းစိတ်ဖြာရန် Parse_Url နှင့် Parse_Sts ကိုပေါင်းစပ်ခြင်း

gitbox 2025-05-28

PHP applications များကိုတီထွင်သည့်အခါ processing urls သည်အလွန်အသုံးများသောအလုပ်ဖြစ်သည်။ routing system တစ်ခုတည်ဆောက်ခြင်းသို့မဟုတ်စုံစမ်းမှုဆိုင်ရာသတ်မှတ်ချက်များကိုရယူခြင်းသည် fixs query parsters () နှင့် Parse_Str_Str_Str_Str) ကို အသုံးပြု. နားလည်မှုနှင့်ကျိုးကြောင်းဆီလျော်စွာရယူခြင်းရှိမရှိ, ဤဆောင်းပါးသည်၎င်း၏အစိတ်အပိုင်းများနှင့်စုံစမ်းမှုဆိုင်ရာသတ်မှတ်ချက်များကိုထုတ်ယူခြင်း,

1 ။ Parse_Url () function ကိုမိတ်ဆက်

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
)

2 ။ Parse_Str_Str () ကိုသုံးပါ

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' ကဲ့သို့သောအလွယ်တကူရယူနိုင်သည်။ ]

3 ။ အပြီးသတ်ထုပ်ပိုး: စိတ်ကြိုက် parsing လုပ်ဆောင်ချက်များကို

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
        )
)

4 ။ လက်တွေ့အခြေအနေများဥပမာ

  1. လမ်းကြောင်းခွဲခြမ်းစိတ်ဖြာခြင်း - မည်သည့် Controller နှင့်နည်းလမ်းကို လမ်းကြောင်း အပိုင်းပေါ်တွင် အခြေခံ. မည်သည့် controller နှင့်နည်းလမ်းကိုသင်ဆုံးဖြတ်နိုင်သည်။

  2. Interface လုံခြုံရေး - အတည်ပြုရန်အတွက် query_params မှလက်မှတ်ထိုးခြင်းသို့မဟုတ်လက်မှတ်ကွင်းဆင်းများကိုထုတ်ယူပါ။

  3. Page Jump Prousture - Referrer (သို့) callback URL ကိုခွဲခြမ်းစိတ်ဖြာခြင်းဖြင့်၎င်း၏တရားဝင်မှုနှင့် parameter သမာဓိကိုအတည်ပြုပါ။

5 ။ မှတ်စုဖို့အရာ

  • Parse_Url () သည် URL ၏တရားဝင်မှုကိုအတည်ပြုလိမ့်မည်မဟုတ်ပါ။

  • မပြည့်စုံသော,

  • Parse_Str () () သည် လက်ရှိနယ်ပယ်တွင် variable များကို overwrite လုပ်လိမ့်မည်။

အကျဉ်းချုပ်

Parse_URL () နှင့် parse_str) ကိုပေါင်းစပ်ပြီး untocol, host query parameters များစသည့်အချက်အလက်များကိုအလွယ်တကူရနိုင်သည်။ သူတို့၏အသုံးပြုမှုတွင်ကျွမ်းကျင်မှုသည်သင်၏ PHP ဖွံ့ဖြိုးတိုးတက်မှုအတွက်ပိုမိုမြင့်မားသောစွမ်းဆောင်ရည်နှင့်ပိုမိုရှင်းလင်းသောယုတ္တိရှိရှိဖွဲ့စည်းပုံကိုဆောင်ကြဉ်းပေးလိမ့်မည်။