PHP မွာ super global variable ဆိုတာရွိပါတယ္။ သူက global variable ေတြထက္ အဆင့္ျမင္႔တယ္။
global variable က global scope ထဲမွာ ပဲ အသံုးျပဳလုိ႔ပါတယ္။ super global variable ေတြက ဘယ္ scope မွာ မဆို အသံုးျပဳလုိ႔ ရပါတယ္။
အဲဒီ super global variable ေတြဟာ ၾကိဳတင္သတ္မွတ္ေပးထားၾကတာျဖစ္ပါတယ္။ အဲဒါေတြကေတာ႔
- $GLOBALS
- $_SERVER
- $_REQUEST
- $_POST
- $_GET
- $_FILES
- $_ENV
- $_COOKIE
- $_SESSION
GET , POST နဲ႔ REQUEST ေတြကိုေတာ႔ သိျပီးသားျဖစ္မွာပါ။
$_GET ကေတာ႔ get method နဲ႔ ေပးပို႔တဲ႔ variable ကို $_GET array ထဲမွာ ထည့္ေပးထားတာျဖစ္ပါတယ္။
$_POST ကလည္း post method နဲ႔ ေပးပို႔တဲ႔ variable ေတြကို အသံုးျပဳႏိုင္ရန္ $_POST array ထဲမွာ ထည့္ေပးထားတာျဖစ္ပါတယ္။
$_REQUEST ကေတာ႔ get , post နဲ႔ cookie variable ကိုေရာထည့္ေပးထားတာျဖစ္ပါတယ္။
$_FILES ကေတာ႔ file upload ျပဳလုပ္တဲ႔အခါမွာ သံုးဖို႔ျဖစ္ပါတယ္။ upload တင္လိုက္တဲ႔ file ရဲ႕ information ေတြကို သိမ္းထားေပးတဲ႔ array ျဖစ္ပါတယ္။
$_COOKIE ကေတာ႔ web page အတြက္ သိမ္းထားတဲ႔ cookie data ေတြကို ထည့္ေပးထားတာျဖစ္ပါတယ္။
$_SESSION ကလည္း user တစ္ေယာက္ခ်င္းစီအတြက္ သိမ္းဆည္းေပးထားတဲ႔ session data ေတြကို ထည့္ေပးထားပါတယ္။
$_SERVER က ေတာ႔ web page ရဲ႕ header, path, script location နဲ႔ပါတ္သက္တဲ႔ information ေတြ ကို သိမ္းထားေပးတဲ႔ array ျဖစ္ပါတယ္။အဲဒီ variable ေတြကို web server ကေနတည္ေဆာက္တာျဖစ္ပါတယ္။ ဒါေၾကာင့္ server ေပၚမူတည္ျပီး အနည္းငယ္ေျပာင္းလဲမႈရွိႏိုင္ပါတယ္။
$_ENV ကေတာ႔ environment variable ေတြကို စုစည္းေပးထားတာျဖစ္ပါတယ္။ environment variable ေတြဆိုတာကေတာ႔ process တစ္ခု run တဲ႔အခါ မွာ သူ႔ environment ရဲ႕ information ေတြကို ရယူ ႏိုင္မယ့္ variable ေတြပဲျဖစ္ပါတယ္။ဥပမာ။ ။ OS , program file path , user name အစရွိတဲ႔ information ေတြကို ရရွိႏိုင္ပါတယ္
window os အသံုးျပဳသူေတြအေနနဲ႔ environment variable ေတြကို သိခ်င္ရင္ command-prompt ကိုဖြင့္ျပီး SET လို႔ရိုက္ေပးပါ။ ဒါဆို environment variable ေတြအားလံုးေတြ႔ရပါလိမ့္မယ္။
ကဲဒါဆို $GLOBALS ကို ဆက္ၾကည့္ရေအာင္
$GLOBALS ဟာ global scope မွာ defined လုပ္ထားတဲ႔ variable အားလံုးကို access လုပ္ခြင့္ရေစပါတယ္
example $num= 33; echo $GLOBALS['num'];
ဒါဆို global scope ထဲက variable ေတြဟာ $GLOBALS array ကေနတဆင့္ အသံုးျပဳလုိ႔ရႏိုင္တာကိုေတြ႔ရပါလိမ္႔မယ္။ function scope ထဲကေန global scope variable ကုိတိုက္ရိုက္ access လုပ္ႏိုင္ေစတဲ႔ အားသာခ်က္လည္း ျဖစ္ေစပါတယ္
example
$num = '33';
function testFunction()
{
$GLOBALS['num'] = $GLOBALS['num'] + 10;
}
testFunction();
echo $num;
ဒါ႔အျပင္ $GLOBALS array ထဲမွာ GET , POST, COOKIE, FILE တို႔ ျပန္ျပီး ပါ၀င္ေနပါတယ္။
ဒါေၾကာင့္ $_GET, $_POST, $_COOKIE, $_FILE တို႔ကို ေနာက္တစ္နည္း အေနနဲ႔
$GLOBALS['_GET']
$GLOBALS['_POST']
$GLOBALS['_COOKIE']
$GLOBALS['_FILE']
အစရွိသျဖင့္ အသံုးျပဳႏိုင္ပါေသးတယ္။

EmoticonEmoticon