ကဗ်ာ/ရသ/နည္းပညာ

VariableVariables

Mar 4, 2014
ယေန႔ေခတ္မွာ အြန္လိုင္းေပၚက Website ေတြ အားလံုးရဲ႕ 80 % က PHP Language ကုိ အသံုးၿပဳၿပီးေရးသားထားၾကတာျဖစ္ပါတယ္ ။
တစ္ျခား ေကာင္းမြန္တဲ့ Language ေတြ အမ်ားႀကီးရွိေနေပမယ့္ ဘာေၾကာင့္ PHP ကုိမွ အထူးတလည္အသံုးျပဳၾကတာလဲ၊?
အေၾကာင္းရင္းကေတာ့ PHP ဟာ OpenSource ျဖစ္တာ အခမဲ့လည္းျဖစ္တာ အသံုးျပဳရာမွာ အျခား Language ေတြထက္လြယ္ကူအဆင္
ေျပတာ စတဲ့အားသာခ်က္ေတြေၾကာင့္ ေနာက္ပိုင္းမွာပိုၿပီးလူသံုးမ်ားရတာျဖစ္ပါတယ္ ။

PHP နဲ႕ Dynamic Web pages ေတြေရးဖို႔ ဘာကုိစၿပီးလုပ္ရမွာလဲ ?
Web Server ေပၚမွာ အလုပ္လုပ္ေစမွာျဖစ္လို႔ ကိုယ့္ရဲ႕ ကြန္ပ်ဴတာေလးကုိ Web Server ေဆာ့၀ဲ တစ္ခုအရင္ Run ေပးဖို႔လိုအပ္ပါတယ္ ။
ဒီေနရာမွာ အသံုးအမ်ားဆံုး Windows OS ကုိပဲ Based ထားၿပီးေဆြးေႏြးသြားမွာျဖစ္လို႔ Other OS သံုးတဲ့သူေတြက တစ္ခ်ိဳ႕အခ်က္ေတြမွာ
ကုိယ့္ဖာသာကုိ ျပဳျပင္မွတ္သားသြားဖို႔ တိုက္တြန္းပါတယ္ ။
ေနာက္ထပ္လိုအပ္တာကေတာ့ Coding ေရးဖို႔ Text Editor တစ္ခု  ျဖစ္ပါတယ္။ PHP အတြက္ သီးသန္႔၀ယ္သံုးလို႔ရတဲ့ Editor ေတြအမ်ား
ႀကီးရွိၿပီးသားမို႔ ပိုမိုအဆင္ေျပစြာအသံုးျပဳလိုရင္ေတာ့ ၀ယ္သံုးေစခ်င္ပါတယ္ ။ ကၽြန္ေတာ္ကေတာ့ အခမဲ့ရတဲ့ Notepad++ ေလးကုိပဲ
ဒီေနရာကေန Download ခ်ထားၿပီး နမူနာအျဖစ္အသံုးျပဳရွင္းျပ သြားပါမယ္ ။
ဒီေနရာကေနၿပီးေတာ့ WAMP web server ေဆာ့၀ဲကုိေဒါင္းလုုတ္ခ်ၿပီး Install သြင္းလိုက္ပါ ။ Next ,Next OK ,OK လုပ္သြားယံုနဲ႕အဆင္ေျပ
ေျပ Install လုပ္ၿပီးသြားမွာပါ ။ အဲဒီ ေဆာ့၀ဲထဲမွာ PHP အျပင္ Apache ,MySQL စတဲ့ Database ေတြပါတစ္ခါတည္းပါ၀င္ၿပီးသားမို႔သံုးရတာ
အရမ္းအဆင္ေျပပါတယ္။အခုဆိုရင္ drive C: ထဲမွာ wamp နာမည္နဲ႕ ဖိုဒါအသစ္တစ္ခုထပ္ေရာက္ေနမွာျဖစ္ၿပီး အဲ့ဒီ ဖိုဒါထဲကမွwww ဆိုတဲ့
ေနာက္ထပ္ဖိုဒါ ထဲမွာ ကၽြန္ေတာ္တို႕ အလုပ္လုပ္ေစခ်င္တဲ့ PHP ဖိုင္ေတြကုိသြားထားေပးရမွာျဖစ္ပါတယ္။
ဒါေလာက္ဆိုရင္ PHP စေရးလို႔ရၿပီလား ?
 စေရးလို႔ရပါၿပီ ။dynamic web ေရးမွာျဖစ္လို႔ HTML /CSS ကုိသိၿပီးသားလို႔သတ္မွတ္ပါမယ္။Web မွာ Language တစ္ခုထဲနဲ႕ အကုန္ဖန္တီးသြား
လို႔မရပါဘူး ။ လူတစ္ေယာက္က တစ္ခုတည္းကုိပဲ စိုက္လိုက္မတ္တပ္လုပ္မွ တကယ္ကၽြမ္းက်င္တယ္ လို႔ ေရွးပညာရွိေတြကဆိုေပမယ့္
ဒီေနရာမွာေတာ့ အဲ့ဒီလိုလုပ္လို႔မျဖစ္ပါဘူး ။Web Developer ေကာင္းတစ္ေယာက္ျဖစ္ဖို႔ အတြက္ PHP တစ္ခုတည္းေဇာက္ခ်လုပ္ေနလို႔မရပါဘူး ။
Design အတြက္ HTML /CSS , လွဳပ္ရွားေနတဲ့ ပံုရိပ္ေတြ အတြက္ Javescript /JQuery , Asynchronous လုပ္ငန္းစဥ္
အတြက္ AJAX စသည္ျဖင့္ သူ႔အပိုင္းနဲ႕သူ သိနားလည္ေနရမွာျဖစ္ပါတယ္။အခုေဆြးေႏြးမယ့္ အေၾကာင္းအရာထဲမွာ ပိုၿပီးျမန္ျမန္ခရီးေရာက္ေစခ်င္တဲ့
အတြက္ ProgrammingConcept အေျခခံေတြထည့္မေျပာေတာ့ပါဘူး။ www ဖိုဒါထဲမွာ QplusWebTraining ဆိုတဲ့ဖိုဒါ အသစ္တစ္ခုထပ္ေဆာက္
လိုက္ရေအာင္ ။ Notepad++ ကုိဖြင့္ၿပီး ဒီလိုေလး ရိုက္ထည့္လိုက္
<?php
phpinfo();
?>
file name  ကုိ my_phpinfo.php လို႔ေပးၿပီး ေစာေစာက ေဆာက္ထားတဲ့ QplusWebTraining ဖိုဒါေအာက္မွာသြားထားလိုက္ပါ ။
ၿပီးရင္ WAMP server ကုိ ကလစ္ႏွိပ္လို႔ အရင္ Run ေပးလုိက္ပါဦး ။ Run ၿပီးသားဆို ညာဘက္ task bar မွာ သူ႔ပံုေလးကုိအစိမ္းေရာင္ေလးနဲ႕
ျပေနပါလိမ့္မယ္ ။ အဲဒါေလးေသခ်ာၿပီဆိုရင္ Browser ကိုဖြင့္ localhost/my_phpinfo.php လို႕ရိုက္ထည့္လိုက္မယ္ဆိုရင္ Server ရဲ႕
information Page ကိုေဖာ္ျပေပးပါလိမ့္မယ္။
တစ္ခ်ိဳ႕စက္ေတြမွာ localhost ကုိ Permission ပိတ္ထားတတ္လို႔  127.0.0.1/my_phpinfo.php ဆိုၿပီးလည္းေခၚသံုးလို႔ရပါတယ္ ။
phpinfo() ဆိုတဲ့ function ေလးက server ရဲ႕ information ေတြကို ၾကည့္ဖို႔အတြက္ သံုးတဲ့ function တစ္ခုျဖစ္ပါတယ္ ။ဒါေပမယ့္ ဒါကုိ စမ္း
သပ္ဖို႔အတြက္ပဲသံုးသင့္ၿပီး လက္ေတြ႔မွာ Hosting လံုျခံဳေရးအရ ဒီလိုဖိုင္မ်ိဳး server မွာလံုး၀ မထားထားသင့္ပါဘူး ။
ေနာက္ထပ္ variable ေၾကျငာသတ္မွတ္ရာမွာ ထူးထူးျခားျခား အသံုးျပဳႏိုင္တဲ့ Variable variables အသံုးျပဳပံုေလး ေျပာျပပါမယ္။
<?php
$a="Hello";            // variable a ထဲ Hello string ကုိထည့္လိုက္တယ္ ။
$Hello="Have a good day .";        // variable a ထဲက string data အတိုင္း ေနာက္ထပ္ variable တစ္ခုဖန္တီးၿပီး string data အသစ္ထပ္ထည့္တယ္ ။
echo $a ."<br/>";            //output > Hello
echo $Hello."<br/>";        //output > Have a good day.
echo $$a."<br/>";            //output > Have a good day.
?>

$$a ကုိ Variable variables လို႔ေခၚပါတယ္ ။ သူကဘယ္လိုအလုပ္လုပ္သြားတာလဲ ၊? နားလည္လြယ္ေအာင္ရွင္းျပရရင္
ပထမ variable ကကုိယ္စားျပဳတဲ့ တန္ဖိုးကုိယူတယ္။ ၿပီးေနာက္မွာ အဲ့ဒီ တန္ဖိုး ကကုိယ္စားျပဳတဲ့ ေနာက္ထပ္တန္ဖိုးကုိယူတယ္။
အေပၚက ဥပမာ ပံုစံ ကုိပိုနားလည္ေအာင္ {} ေလးထည့္ၿပီး ၾကည့္ၾကည့္မယ္။
// echo ${$var[1]}; // ပထမ variable
//echo ${$var}[1];  // ဒုတိယ variable

အိုေခမယ္ေနာ္ ။ ေအာက္ကနမူနာကုတ္ကုိကူးၿပီး Run ၾကည့္မယ္ဆိုရင္ ပို ၿပီးနားလည္သေဘာေပါက္ သြားမွာပါ။
<?php
$a ="MyoChit";
$b="PaingOo";
$c="MgShan";
$d="NandaHtun";
$e="PhyoMin";

$students = array ('a','c','e');

 foreach ($students as $seat){
    echo $$seat . "<br/>";
}
?>
ဟုတ္ၿပီ $aက 1 $b က 2 ဆိုရင္ $$a က 3 ဒီလိုမဟုတ္လား ??
ဒါဆိုရင္ေတာ့ အေပၚကရွင္းျပတာကုိေနာက္ထပ္တစ္ေခါက္ထပ္ဖတ္ဖို႔လိုေနပါၿပီ။ ေသေသခ်ာခ်ာနားမလည္ေသးလို႔
ဒီေမးခြန္းေမးတာပါ။ဒါကုိလည္းအပစ္မေျပာပါဘူး။ကၽြန္ေတာ့္တုန္းက ဒါေလးလိပ္ပတ္လည္ေအာင္ တင္တစ္ႏွစ္ေလာက္
ေလ့လာလိုက္ရတယ္။
 $$$a ဆိုၿပီးေရာ သံုးလို႔မရဘူးလား ? ဒါပဲလား ?
မခက္ပါဘူး ။သိခ်င္ စမ္းၾကည့္လိုက္ ။ခ်ေရး Server ကေနလွမ္းေခၚ ။
ကဲ .... ေနာက္ေဆြးေႏြးခ်က္မွကၽြန္ေတာ္တို႔ ထပ္ေတြ႕ရေအာင္ ။ ေက်းဇူး ။






No comments:

Post a Comment