PHP Variables နယ်ပယ်
PHP Variables နယ်ပယ်
PHP တွင်၊ variable များကို script ၏ဘယ်နေရာမှာမဆိုကြေငြာနိုင်သည်။
ကိန်းရှင်တစ်ခု၏ နယ်ပယ်သည် ကိန်းရှင်အား ကိုးကား/အသုံးပြုနိုင်သည့် script ၏ အစိတ်အပိုင်းဖြစ်သည်။
PHP တွင် မတူညီသော ပြောင်းလဲနိုင်သော နယ်ပယ်သုံးခုရှိသည်။
- ပြည်တွင်း
- ကမ္ဘာလုံးဆိုင်ရာ
- အငြိမ်
ကမ္ဘာလုံးဆိုင်ရာနှင့် ဒေသဆိုင်ရာနယ်ပယ်
လုပ်ဆောင်ချက်တစ်ခု၏ အပြင်ဘက်တွင် ကြေငြာထားသော variable သည် GLOBAL SCOPE ရှိပြီး လုပ်ဆောင်ချက်ပြင်ပတွင်သာ ဝင်ရောက်နိုင်သည်-
ဥပမာ
ကမ္ဘာလုံးဆိုင်ရာအတိုင်းအတာဖြင့် ပြောင်းလဲနိုင်သော
<?php
$x = 5; // global scope
function myTest() {
// using x inside this function will generate an error
echo "<p>Variable x inside function is: $x</p>";
}
myTest();
echo "<p>Variable x outside function is: $x</p>";
?>
လုပ်ဆောင်ချက် တစ်ခုအတွင်း ကြေငြာထားသော variable တစ်ခုတွင် LOCAL SCOPE ရှိပြီး ထိုလုပ်ဆောင်ချက်အတွင်းသာ ဝင်ရောက်နိုင်သည်-
ဥပမာ
ဒေသန္တရနယ်ပယ်ဖြင့် ပြောင်းလဲနိုင်သော
<?php
function myTest() {
$x = 5; // local scope
echo "<p>Variable x inside function is: $x</p>";
}
myTest();
// using x outside the function will generate an error
echo "<p>Variable x outside function is: $x</p>";
?>
သင့်တွင် မတူညီသော လုပ်ဆောင်ချက်များတွင် အမည်တူသော ဒေသဆိုင်ရာ ကိန်းရှင်များ ရှိနိုင်သည်၊ အကြောင်းမှာ ဒေသဆိုင်ရာ ကိန်းရှင်များကို ၎င်းတို့ ကြေညာထားသည့် လုပ်ဆောင်ချက်ကသာ အသိအမှတ်ပြုထားသောကြောင့် ဖြစ်သည်။
PHP ကမ္ဘာလုံးဆိုင်ရာသော့ချက်စာလုံး
global
function တစ်ခုအတွင်းမှ global variable ကို ဝင်ရောက်ရန် သော့ချက်စကားလုံးကို အသုံးပြုသည် ။
ဒါကိုလုပ်ဖို့၊ global
variable တွေရှေ့မှာ (လုပ်ဆောင်ချက်အတွင်း) သော့ချက်စာလုံးကိုသုံးပါ။
ဥပမာ
<?php
$x = 5;
$y = 10;
function myTest()
{
global $x, $y;
$y = $x + $y;
}
myTest();
echo $y; // outputs 15
?>
PHP သည် global variable အားလုံးကို array ဟုခေါ်သော array တွင် သိမ်းဆည်း
ပါသည်။ အဆိုပါ variable ၏အမည်ကိုရရှိထားသည်။ ဤအခင်းအကျင်းကို လုပ်ဆောင်ချက်များအတွင်းမှလည်း ဝင်ရောက်အသုံးပြုနိုင်ပြီး ကမ္ဘာလုံးဆိုင်ရာကိန်းရှင်များကို တိုက်ရိုက်မွမ်းမံပြင်ဆင်ရန် အသုံးပြုနိုင်သည်။$GLOBALS[index]
index
အထက်ဖော်ပြပါ ဥပမာအား ဤကဲ့သို့ ပြန်လည်ရေးသားနိုင်ပါသည်။
ဥပမာ
<?php
$x = 5;
$y = 10;
function myTest()
{
$GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y'];
}
myTest();
echo $y; // outputs 15
?>
PHP သည် static Keyword ဖြစ်သည်။
ပုံမှန်အားဖြင့်၊ လုပ်ဆောင်ချက်တစ်ခုပြီးမြောက်ခြင်း/လုပ်ဆောင်သည့်အခါ၊ ၎င်း၏ variable အားလုံးကို ဖျက်ပစ်ပါသည်။ သို့သော်၊ တစ်ခါတစ်ရံတွင် ကျွန်ုပ်တို့သည် ဒေသဆိုင်ရာ ကိန်းရှင်တစ်ခုကို မဖျက်ပစ်လိုပါ။ နောက်ထပ်အလုပ်တစ်ခုအတွက် ကျွန်တော်တို့ လိုအပ်တယ်။
ဒါကိုလုပ်ဖို့၊ static
သင် variable ကို ပထမဆုံးကြေငြာတဲ့အခါ keyword ကိုသုံးပါ-
ဥပမာ
<?php
function myTest()
{
static $x = 0;
echo $x;
$x++;
}
myTest();
myTest();
myTest();
?>
ထို့နောက် function ကိုခေါ်လိုက်တိုင်း၊ အဆိုပါ variable သည် function ကိုနောက်ဆုံးခေါ်ခဲ့သည့်အချိန်မှ ပါ၀င်သော အချက်အလက်များ ရှိနေမည်ဖြစ်သည်။
မှတ်ချက်- ကိန်းရှင်သည် လုပ်ဆောင်ချက်အတွက် သီးသန့်ဖြစ်နေဆဲဖြစ်သည်။