Web Development တွင် PHP တွင် PHP သည် PHP တွင်သိသိသာသာစွမ်းဆောင်ရည်တိုးတက်မှုများအရ PHP7 ဗားရှင်းတွင်သိသာထင်ရှားသည့်စွမ်းဆောင်ရည်တိုးတက်မှုများရရှိခဲ့ပြီး Optimized Memory Management, အမှားကိုင်တွယ်မှုယန္တရားနှင့် JIT စုစည်းခြင်းနည်းပညာတို့ကြောင့်ဖြစ်သည်။ PHP7 ၏အခြေခံလည်ပတ်မှုယန္တရားကိုနားလည်ခြင်းသည်စွမ်းဆောင်ရည်မြင့်မားသော PHP application များဖွံ့ဖြိုးတိုးတက်ရေးအတွက်အရေးကြီးသောအုတ်မြစ်ဖြစ်သည်။ ဤဆောင်းပါးသည်အရင်းအမြစ်ကုဒ်အဆင့်မှစတင်ပါမည်။
PHP ၏စုစည်းခြင်းလုပ်ငန်းစဉ်ကိုအဓိကအားဖြင့်အဆင့်သုံးဆင့်စီခွဲထားသည့်အဆင့်သုံးဆင့်စီခွဲထားသည်။ အောက်ပါတို့သည်တ ဦး တည်းအားဖြင့်တစ် ဦး အားဖြင့် disassembled လိမ့်မည်။
Lexical Analysis Prock တွင် PHP source code ကိုနှစ်မျိုး, နံပါတ်များ, ကြိုးများနှင့်အော်ပရေတာများကဲ့သို့သော "တိုကင်" ဟုခေါ်သောအသေးငယ်ဆုံးဘာသာစကားယူနစ်များအဖြစ်ခွဲခြားလိမ့်မည်။ tag တစ်ခုစီတွင်အမျိုးအစားအမည်နှင့်သက်ဆိုင်ရာတန်ဖိုးပါ 0 င်သည်။
$var1 = 10;
$var2 = "hello world";
အဆိုပါသက်ဆိုင်ရာအမှတ်အသားများ:
T_VARIABLE $var1
T_WHITESPACE
T_EQUAL =
T_WHITESPACE
T_LNUMBER 10
T_SEMICOLON ;
T_WHITESPACE
T_VARIABLE $var2
T_WHITESPACE
T_EQUAL =
T_WHITESPACE
T_STRING "hello world"
T_SEMICOLON ;
Syntax ခွဲခြမ်းစိတ်ဖြာခြင်းသည် tags များကို syntax tags သို့ sequence ကိုတည်ဆောက်သည်။ Syntax Tree သည်စကားပြန်ကိုယုတ္တိဗေဒကိုနားလည်သည်။
if ($a > $b) {
$max = $a;
} else {
$max = $b;
}
သက်ဆိုင်ရာ syntax သစ်ပင်ဖွဲ့စည်းပုံမှာ -
if
├─ >
│ ├─ $a
│ └─ $b
├─ =
│ ├─ $max
│ └─ $a
└─ =
├─ $max
└─ $b
ဤအဆင့်တွင် syntax tree ကို virtual machine အားဖြင့်ကွပ်မျက်ရန်အတွက် abstract intermediate code သို့ကူးပြောင်းသည်။ ဤအလယ်အလတ်တန်းတူဘာသာစကားသည်တိကျသောပလက်ဖောင်းများကိုအားမကိုးနိုင်ပါ။
function get_user_name($userid) {
$users = array(
1 => "John",
2 => "Mary",
3 => "Bob"
);
if (isset($users[$userid])) {
return $users[$userid];
} else {
return "Unknown";
}
}
ထုတ်လုပ်ထားသောအလယ်အလတ်ကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
FUNCTION get_user_name
PARAM $userid
ADD_ARRAY $users,1,"John",2,"Mary",3,"Bob"
IF isset,$users,$userid
GET_ARRAY $users,$userid
RETURN
ELSE
STRING "Unknown"
RETURN
ENDIF
END_FUNCTION
PHP သည်အလယ်အလတ်ကုဒ်မျိုးဆက်များပြီးဆုံးပြီးနောက်၎င်းသည် Execute Page ကိုရိုက်ထည့်ပြီး virtual machine သည်ကုဒ်စစ်ဆင်ရေးပြီးဆုံးလိမ့်မည်။
PHP ၏သတ်ဖြတ်ခြင်းသည်ဂျာနယ်များနှင့်ကျယ်ကျယ်ပြန့်ပြန့်သော module များပါ 0 င်သည်။ အဓိကအပိုင်းသည်အခြေခံ Syntax နှင့် Process control အတွက်တာ 0 န်ရှိသည်။
PHP7 PHP7 သည် PHP7 သည်အထူးသဖြင့်ထပ်ခါတလဲလဲစစ်ဆင်ရေး - အထူးကြပ်မတ်သောအခြေအနေများတွင်ဒေသခံစက်ကုဒ်ထဲသို့ဓာတုဗေဒဆိုင်ရာလမ်းကြောင်းများထဲသို့တွန်းပို့နိုင်သည့်ကတည်းက Inspility Comport နည်းပညာကိုမိတ်ဆက်ခဲ့သည်။
PHP Virtual Machine သည်အလယ်အလတ်ကုဒ်ကိုအကောင်အထည်ဖော်ရန်နှင့်မှတ်ဉာဏ်ခွဲဝေချထားပေးခြင်း, ၎င်း၏ဒီဇိုင်းသည်အမှန်တကယ် hardware ဗိသုကာကိုရည်ညွှန်းပြီး Cross-platform execution စွမ်းရည်ကိုသဘောပေါက်သည်။
PHP7 သည်အခြေခံဗိသုကာနှင့်လုပ်ဆောင်မှုနှင့်ကွပ်မျက်မှုယန္တရားများကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်ပေးသည်။ developer များအနေဖြင့်ဤယန္တရားများကိုနားလည်ခြင်းသည် debug ကိုဖြည့်ဆည်းပေးရုံသာမက PHP ဘာသာစကား၏အနှစ်သာရကိုပိုမိုနက်ရှိုင်းစွာနားလည်ရန်ခွင့်ပြုသည်။