လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Php Main function တွင် parameter convertion ပြ problem နာကိုသုံးသပ်ခြင်း

Php Main function တွင် parameter convertion ပြ problem နာကိုသုံးသပ်ခြင်း

gitbox 2025-05-28

ပရိုဂရမ်းမင်းဘာသာစကားများစွာတွင် အဓိက လုပ်ဆောင်ချက်မှာ Parameters များလက်ခံရရှိရန်နှင့်အစီအစဉ်ကိုကွပ်မျက်ရန်တာ 0 န်ယူသည့်အစီအစဉ်သို့ဝင်ရန်ဖြစ်သည်။ PHP သည် Web Development အတွက် 0 င်ရောက်ခြင်းနှင့် 0 င်ရောက်မှုနေရာများအတွက်အသုံးပြုလေ့ရှိသော်လည်း Command Line Mode (CLI) တွင်အဓိကလုပ်ဆောင်ချက် (CLI) တွင် အဓိက လုပ်ဆောင်ချက်မရှိသော်လည်းကျွန်ုပ်တို့သည် အဓိက လုပ်ဆောင်ချက်စနစ် (CLI) ကိုတုပနိုင်ဆဲဖြစ်သည်။

ဤဆောင်းပါးသည် PHP command line parameter သည် အဓိက လုပ်ဆောင်ချက်တွင် parameter များကိုမည်သို့ရနိုင်မည်ကိုအသေးစိတ်ရှင်းပြရန်နှင့်ဥပမာအားဖြင့်ကွဲပြားသော parameter ဖြန့်ချိနည်းစနစ်များကိုအသေးစိတ်ရှင်းပြပါလိမ့်မည်။


1 ။ PHP command line parameterks ၏အခြေခံ

PHP CLI Mode တွင် script ကို run သောအခါ parameters တွေကို command line မှတဆင့် script ကို script သို့ဖြတ်သွားနိုင်သည်။ PHP သည် Parameters များကို ဒေါ်လာ argv ခင်းကျင်းမှုတွင်သိုလှောင်ထားသည်။

  • $ argv [0] သည်ဇာတ်ညွှန်းအမည်ဖြစ်သည်

  • $ argv [1] နှင့်နောက်ပိုင်းတွင် parameters တွေကိုလွန်နေကြသည်

ဥပမာ -

 <?php
// ပေြးသွားခြင်း: php script.php hello world

print_r($argv);
?>

ထုတ်လုပ်မှု -

 Array
(
    [0] => script.php
    [1] => hello
    [2] => world
)

2 ။ parameters တွေကိုလက်ခံရရှိရန်အဓိက function ကိုတုပ

PHP ကိုယ်တိုင်ကတင်းကြပ်သော အဓိက လုပ်ဆောင်မှုမရှိပေမဲ့ function တစ်ခုကိုကျွန်ုပ်တို့ဖန်တီးရန်နှင့် parameters များကို passeters ထဲတွင် passing လုပ်ရန်စိတ်ကြိုက်ပြုလုပ်နိုင်သည်။

 <?php
function main(array $args) {
    if (count($args) < 2) {
        echo "ကျေးဇူးပြု. parameters တွေကိုပေးပါ。\n";
        return;
    }

    echo "ပထမ ဦး ဆုံး parameter သည်ဖြစ်ပါတယ်:" . $args[1] . "\n";
    echo "ဒုတိယ parameter သည်ဖြစ်ပါတယ်:" . $args[2] . "\n";
}

// တယ်လီဖုန်းဆက်ခြင်း main လုပ်ဆောင်ချက်,နှင့် command line parameters တွေကိုအတွက် pass
main($argv);
?>

command ကို run

 php script.php foo bar

ထုတ်လုပ်မှု -

 ပထမ ဦး ဆုံး parameter သည်ဖြစ်ပါတယ်:foo
ဒုတိယ parameter သည်ဖြစ်ပါတယ်:bar

3 ။ options နှင့်အတူ parameters တွေကို parmeopt function ကိုသုံးပါ

php သည် parsing command line parameters တွေကို parsopt function ကိုပိုမိုပြောင်းလွယ်ပြင်လွယ်ပုံစံဖြင့်ပြုလုပ်နိုင်သည်။

 <?php
function main() {
    // short options: a: ညှစ်aနောက်မှတန်ဖိုးယူဆောင်လာရမည်,bညှစ်无值选项
    $options = getopt("a:b");

    if (isset($options['a'])) {
        echo "တေးရေး a တန်ဖိုး:" . $options['a'] . "\n";
    } else {
        echo "未提供တေးရေး a\n";
    }

    if (isset($options['b'])) {
        echo "တေးရေး b အစုံ\n";
    } else {
        echo "တေးရေး b မသတ်မှတ်ပါ\n";
    }
}

main();
?>

ပြေး:

 php script.php -a hello -b

ထုတ်လုပ်မှု -

 တေးရေး a တန်ဖိုး:hello
တေးရေး b အစုံ

4 ။ လက်တွေ့ကျတဲ့တိုက်ခိုက်ရေး - URL parameters တွေကိုရိုးရှင်းတဲ့ဆန္ဒပြမှုအတွက်ပေါင်းစပ်ခြင်း

ကျွန်ုပ်တို့သည် URL Parameter တစ်ခုတွင်သွားရန်လိုအပ်ပြီး၎င်း၏ domain name (ဥပမာ gitbox.net နှင့်ပုံသဏ္ဌာန်အစားထိုးခြင်း) ကိုပြုလုပ်ရန်လိုအပ်သည်ဆိုပါစို့။ နမူနာကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -

 <?php
function main(array $args) {
    if (count($args) < 2) {
        echo "ကျေးဇူးပြုပြီးတစ် ဦး တည်းထဲဝင်ပါ URL တေးရေး。\n";
        return;
    }

    $url = $args[1];
    $parsed = parse_url($url);

    if ($parsed === false || !isset($parsed['host'])) {
        echo "အားမရှိသော URL\n";
        return;
    }

    // အဖြစ်ဒိုမိန်းအမည်ကိုအစားထိုးလိုက်ပါ gitbox.net
    $parsed['host'] = 'gitbox.net';

    // ပြန်လည်ငေှ့ URL
    $new_url = (isset($parsed['scheme']) ? $parsed['scheme'] . '://' : '') .
               $parsed['host'] .
               (isset($parsed['path']) ? $parsed['path'] : '') .
               (isset($parsed['query']) ? '?' . $parsed['query'] : '') .
               (isset($parsed['fragment']) ? '#' . $parsed['fragment'] : '');

    echo "အစားထိုး URL: " . $new_url . "\n";
}

// 传入တေးရေး示例: php script.php https://www.example.com/path?foo=bar#section
main($argv);
?>

ဥပမာ -

 php script.php https://www.example.com/path?foo=bar#section

ထုတ်လုပ်မှု -

 အစားထိုး URL: https://gitbox.net/path?foo=bar#section

အကျဉ်းချုပ်

  • PHP CLI mode သည် ဒေါ်လာ argv မှတစ်ဆင့် parameters များကိုလက်ခံသည်

  • option parameters တွေကိုပြောင်းလွယ်ပြင်လွယ်ကိုင်တွယ်ရန် getopt ကို သုံးပါ။

  • URL ကိုခွဲခြမ်းစိတ်ဖြာခြင်း၏ဥပမာသည်အထူးသဖြင့် URL domain name ကို url domain name ကိုပြောင်းလဲသောအခါလက်တွေ့ကျသောအပလီကေးရှင်းများကိုပြသသည်

  • Parameter Passing ယန္တရားကိုနားလည်ခြင်းသည်ပိုမိုခိုင်မာသည့်နှင့်ပြောင်းလွယ်ပြင်လွယ်သော command-line script များကိုရေးရန်ကူညီလိမ့်မည်။