PHP တွင်၊ functions များသို့ arguments များပေးပို့ခြင်းသည် developer များအား values သို့မဟုတ် variables များကို processing အတွက် functions များသို့ passing လုပ်ခွင့်ပြုသည့် အခြေခံသဘောတရားတစ်ခုဖြစ်သည်။ ဤယန္တရားသည် လုပ်ဆောင်ချက်များကို ပေးထားသည့် အကြောင်းပြချက်များပေါ်တွင် လည်ပတ်လုပ်ဆောင်ရန်နှင့် လိုချင်သောရလဒ်များကို ပြန်ပေးနိုင်သည်။ ခိုင်ခံ့ပြီး လိုက်လျောညီထွေရှိသော PHP အပလီကေးရှင်းများကို တည်ဆောက်ရန်အတွက် အကြောင်းပြချက်များကို လုပ်ဆောင်ချက်များသို့ မည်သို့ပေးပို့ရမည်ကို နားလည်ခြင်းသည် မရှိမဖြစ်လိုအပ်ပါသည်။
PHP တွင် arguments များကို functions များသို့ပေးပို့ရန် နည်းလမ်းများစွာရှိပါသည်။ အသုံးအများဆုံးနည်းလမ်းမှာ တန်ဖိုးအားဖြင့်ဖြစ်ပြီး၊ argument ၏တန်ဖိုးကို function ၏ parameter သို့ ကူးယူပါသည်။ ဆိုလိုသည်မှာ လုပ်ဆောင်ချက်အတွင်း ပါရာမီတာသို့ ပြောင်းလဲမှုများသည် အငြင်းအခုံ၏ မူရင်းတန်ဖိုးအပေါ် သက်ရောက်မှုမရှိပါ။ ဒါက ဥပမာတစ်ခုပါ။
php
function addOne($num) {
$num += 1;
return $num;
}
$number = 5;
$result = addOne($number);
echo $number; // Output: 5
echo $result; // Output: 6
အထက်ဖော်ပြပါ ဥပမာတွင်၊ လုပ်ဆောင်ချက် `addOne` သည် အကြောင်းပြချက် `$num` ကိုယူ၍ 1 ကို ပေါင်းထည့်သည်။ သို့သော်၊ လုပ်ဆောင်ချက်အတွင်း တန်ဖိုး၏မိတ္တူကိုသာ မွမ်းမံထားသောကြောင့် `$number` ၏ မူရင်းတန်ဖိုးသည် မပြောင်းလဲပါ။
တနည်းအားဖြင့် PHP တွင် အကိုးအကားဖြင့် arguments များကို ဖြတ်သန်းနိုင်သည်။ ဆိုလိုသည်မှာ လုပ်ဆောင်ချက်အတွင်း ပါရာမီတာသို့ ပြောင်းလဲမှုများသည် အငြင်းအခုံ၏ မူရင်းတန်ဖိုးအပေါ် သက်ရောက်မှုရှိမည်ဖြစ်သည်။ အကိုးအကားဖြင့် အငြင်းအခုံတစ်ခုကို ကျော်ဖြတ်ရန်၊ ကန့်သတ်အမည်ရှေ့တွင် ampersand (`&`) သင်္ကေတကို အသုံးပြုရန် လိုအပ်သည်။ ဒါက ဥပမာတစ်ခုပါ။
php
function addOne(&$num) {
$num += 1;
}
$number = 5;
addOne($number);
echo $number; // Output: 6
ဤကိစ္စတွင်၊ လုပ်ဆောင်ချက် `addOne` သည် `$number` ၏ မူရင်းတန်ဖိုးကို ရည်ညွှန်းချက်ဖြင့် ကျော်သွားသောကြောင့် မွမ်းမံပြင်ဆင်သည်။ function တစ်ခုအတွင်းရှိ variable ၏တန်ဖိုးကို တိုက်ရိုက်မွမ်းမံလိုသည့်အခါ ၎င်းသည် အသုံးဝင်နိုင်သည်။
ထို့အပြင်၊ PHP သည် ပုံသေတန်ဖိုးများကို အသုံးပြု၍ လုပ်ဆောင်ချက်များသို့ အငြင်းအခုံများပေးပို့ခြင်းကို ပံ့ပိုးပေးပါသည်။ ဤအင်္ဂါရပ်သည် သင့်အား လုပ်ဆောင်ချက် ကန့်သတ်ဘောင်များအတွက် ပုံသေတန်ဖိုးများကို သတ်မှတ်ခွင့်ပြုသည်၊ ၎င်းသည် လုပ်ဆောင်ချက်ကိုခေါ်ဆိုသောအခါတွင် တန်ဖိုးများမပေးပါက အသုံးပြုမည်ဖြစ်သည်။ ဒါက ဥပမာတစ်ခုပါ။
php
function greet($name = "Guest") {
echo "Hello, " . $name . "!";
}
greet(); // Output: Hello, Guest!
greet("John"); // Output: Hello, John!
အထက်ဖော်ပြပါ ဥပမာတွင်၊ လုပ်ဆောင်ချက် `greet` တွင် "ဧည့်သည်" ၏ မူရင်းတန်ဖိုးဖြစ်သော `$name` ပါရာမီတာတစ်ခုရှိသည်။ လုပ်ဆောင်ချက်ကိုခေါ်ဆိုသည့်အခါ တန်ဖိုးမပေးထားပါက၊ ၎င်းသည် မူရင်းတန်ဖိုးကို အသုံးပြုသည်။ သို့သော်၊ တန်ဖိုးတစ်ခု ပေးမည်ဆိုပါက၊ ၎င်းသည် မူရင်းတန်ဖိုးကို ကျော်လွန်သည်။
PHP ရှိ လုပ်ဆောင်ချက်များသို့ အကြောင်းပြချက်များ ပေးပို့ခြင်းသည် သွက်လက်ပြီး လိုက်လျောညီထွေရှိသော အပလီကေးရှင်းများ တည်ဆောက်ခြင်း၏ အခြေခံအချက်ဖြစ်သည်။ သင့်လိုအပ်ချက်များအပေါ် မူတည်၍ တန်ဖိုးအားဖြင့် သို့မဟုတ် အကိုးအကားဖြင့် ငြင်းခုံမှုများကို သင်ဖြတ်သန်းနိုင်သည်။ ထို့အပြင်၊ လုပ်ဆောင်ချက်ပါရာမီတာများအတွက် နောက်ခံတန်ဖိုးများကို ပေးဆောင်ရန် မူရင်းတန်ဖိုးများကို အသုံးပြုနိုင်သည်။ ဤသဘောတရားများကို နားလည်ခြင်းဖြင့် PHP တွင် ပိုမိုထိရောက်ပြီး ပြန်သုံးနိုင်သောကုဒ်များကို ရေးသားနိုင်စေမည်ဖြစ်သည်။
အခြား လတ်တလောမေးခွန်းများနှင့် အဖြေများ EITC/WD/PMSF PHP နှင့် MySQL အခြေခံများ:
- Open Source ချဉ်းကပ်မှုတွင် MySQL ဒေတာဘေ့စ်ကို လက်တွေ့ကျကျ မည်သို့တပ်ဆင်ရမည်နည်း။
- အတန်းတစ်ခုရှိ ဂုဏ်သတ္တိများကို ဝင်ရောက်ကြည့်ရှုခြင်းနှင့် ပြုပြင်မွမ်းမံခြင်းအတွက် အကြံပြုထားသည့်နည်းလမ်းမှာ အဘယ်နည်း။
- အတန်းတစ်ခုရှိ ကိုယ်ပိုင်ပစ္စည်းတစ်ခု၏တန်ဖိုးကို ကျွန်ုပ်တို့ မည်သို့မွမ်းမံနိုင်မည်နည်း။
- အတန်းတစ်ခုတွင် getters နှင့် setters များကိုအသုံးပြုခြင်း၏အကျိုးကျေးဇူးကဘာလဲ။
- အတန်းတစ်ခုရှိ ကိုယ်ပိုင်ပိုင်ဆိုင်မှု၏တန်ဖိုးကို ကျွန်ုပ်တို့ မည်သို့ရယူနိုင်မည်နည်း။
- အတန်းတစ်ခုတွင် အိမ်ခြံမြေသီးသန့်ပြုလုပ်ရခြင်း၏ ရည်ရွယ်ချက်မှာ အဘယ်နည်း။
- PHP classes တွေမှာ constructor function ဆိုတာ ဘာလဲ၊ သူ့ရဲ့ ရည်ရွယ်ချက်က ဘာလဲ။
- PHP classes တွေမှာ method တွေက ဘာတွေလဲ၊ သူတို့ရဲ့ မြင်နိုင်စွမ်းကို ဘယ်လိုသတ်မှတ်နိုင်မလဲ။
- PHP အတန်းများတွင် ဂုဏ်သတ္တိများကား အဘယ်နည်း၊ ၎င်းတို့၏ မြင်နိုင်စွမ်းကို ကျွန်ုပ်တို့ မည်သို့ သတ်မှတ်နိုင်မည်နည်း။
- PHP ရှိ class တစ်ခုမှ object တစ်ခုကို ဘယ်လိုဖန်တီးမလဲ။
EITC/WD/PMSF PHP နှင့် MySQL Fundamentals တွင် နောက်ထပ်မေးခွန်းများနှင့် အဖြေများကို ကြည့်ပါ။

