အင်တာနက်, PHP ၏လျင်မြန်စွာဖွံ့ဖြိုးတိုးတက်မှုနှင့်အတူလူကြိုက်များ server-side scripting language အဖြစ်အများအပြားဖွံ့ဖြိုးရေးစီမံကိန်းများတွင်ကျယ်ပြန့်စွာအသုံးပြုခဲ့သည်။ သို့သော် developer များစွာသည် PHP ၏ပြည်တွင်းရေးလုပ်ငန်းယန္တရားနှင့် ပတ်သက်. အနည်းငယ်သာသိကြသည်။ ဤဆောင်းပါးသည် Php Kernel ကိုနက်နက်နဲနဲနားလည်နိုင်သည့် developer များအတွက် beginner ည့်ခံသူများကိုပေးလိမ့်မည်။
PHP ၏စုစည်းခြင်းလုပ်ငန်းစဉ်သည် source code ကို The Sources သို့ခေါ်ယူခြင်းကို Lexer သို့ကူးပြောင်းသည်။
PHP ၏ကွပ်မျက်ခြင်းကိုအဆင့်နှစ်ဆင့်ခွဲခြားထားသည်။ အနက်ဖွင့်ထားသည့်အဆင့်တွင် PHP သည် source code line ကိုလိုင်းဖြင့်တန်းစီ။ သက်ဆိုင်ရာစစ်ဆင်ရေးများကိုလုပ်ဆောင်သည်။ စုစည်းခြင်းနှင့်လုပ်ဆောင်မှုအဆင့်တွင်အရင်းအမြစ်ကုဒ်ကိုအလယ်အလတ်ကုဒ် (OPCODE) သို့ပြောင်းလဲပြီးကွပ်မျက်ခြင်းထိရောက်မှုကိုတိုးတက်စေရန်မှတ်ဉာဏ်တွင်သိုလှောင်ထားသည်။
Zend Engine သည် Php Kernel ၏အဓိကအားဖြင့် PHP source code ကိုအလယ်အလတ်ကုဒ်သို့ကူးပြောင်းခြင်းနှင့်ကွပ်မျက်ခြင်းအတွက်တာဝန်ရှိသည်။ PHP ၏ကွပ်မျက်ရေးအင်ဂျင်အနေဖြင့် Zend Engine သည် PHP ဘာသာစကား၏စိတ်ဝိညာဉ်ဖြစ်သည်။
PHP Kernel သည်အားကြီးသောမှတ်ဉာဏ်စီမံခန့်ခွဲမှုယန္တရားရှိပြီး variable များ, လုပ်ငန်းဆောင်တာများနှင့်အတန်းများစသည့်ဒေတာအဆောက်အအုံများကိုထိရောက်စွာစီမံခန့်ခွဲရန်နှင့်ပြန်လည်အသုံးပြုခြင်းကိုထိရောက်စွာစီမံခန့်ခွဲရန်အသုံးပြုသောအစွမ်းထက်သောမှတ်ဉာဏ်စီမံခန့်ခွဲမှုယန္တရားရှိသည်။
PHP Kernel သည် extension ယန္တရားများကိုအထောက်အကူပြုသည်။ developer များကို PHP လုပ်ဆောင်နိုင်စွမ်းကိုမြှင့်တင်ရန်စိတ်ကြိုက်တိုးချဲ့ခြင်း module များကိုဖန်တီးရန်ခွင့်ပြုသည်။ extensions များကို dynamically dynamically load သို့မဟုတ် uninstall လုပ်နိုင်ပြီး PHP ပြည်တွင်းရေးလုပ်ဆောင်ချက်များကိုခေါ်ဆိုနိုင်သည်။
PHP Kernel သည် variable တစ်ခုချင်းစီအတွက်မှတ်ဥာဏ်ကိုခွဲဝေချထားပြီး variable ကိုအသုံးမပြုပါကမှတ်ဉာဏ်ကိုလွတ်စေသည်။ အောက်ဖော်ပြပါနမူနာကုဒ်သည် PHP သည် Variable များကိုမည်သို့ဖန်တီးသည်ကိုပြသည်။
<?php $a = "Hello"; // string variable ကိုဖန်တီးပါ unset($a); // variable တွေကိုဖျက်ဆီး ?>
PHP သည် variable တစ်ခု၏ရည်ညွှန်းချက်အရေအတွက်ကိုခြေရာခံရန်ရည်ညွှန်းရေတွက်ယန္တရားကိုအသုံးပြုသည်။ variable ကိုရည်ညွှန်းသောအခါရည်ညွှန်းရေတွက်မှုတိုးလာသည်။ ရည်ညွှန်းချက်မရှိသည့်အခါရည်ညွှန်းအရေအတွက်လျော့နည်းသည်။ ရည်ညွှန်းအရေအတွက်သည်သုညဖြစ်မှသာ PHP သည်သက်ဆိုင်ရာမှတ်ဉာဏ်နေရာကိုလွှတ်လိမ့်မည်။ ဥပမာများမှာအောက်ပါအတိုင်းဖြစ်သည် -
<?php $a = "Hello"; // string variable ကိုဖန်တီးပါ $b = $a; // variable တွေကိုအကြားတာဝန်ကျတဲ့နေရာမှာရည်ညွှန်းလမ်းကြောင်း unset($a); // variable တွေကိုဖျက်ဆီး ?>
ရည်ညွှန်းရေတွက်ခြင်းအပြင် PHP Kernel သည်အမှိုက်သရိုက်စုဆောင်းမှုယန္တရားကိုအခါအားလျော်စွာအခမဲ့မှတ်ဥာဏ်ကိုခွင့်မလွှတ်နိုင်သည့်အတွက်လည်းအကောင်အထည်ဖော်သည်။ အမှိုက်သရိုက်စုဆောင်းသူသည်မှတ်ဥာဏ်ကိုစကင်ဖတ်စစ်ဆေးသည်။ မရှိတော့ပါ။
ဤဆောင်းပါးသည် PHP7 ၏အဓိကအယူအဆများကိုအတိုချုပ်မိတ်ဆက်ပေးပြီး PHP kernel နှင့်မှတ်ဉာဏ်စီမံခန့်ခွဲမှုယန္တရား၏ဖွဲ့စည်းပုံကိုအဓိကထားသည်။ ဒီအကြောင်းအရာတွေဟာ developer တွေကို PHP ရဲ့နောက်ခံလုပ်ထုံးဖက်ဘာတွေကိုနားလည်အောင်ကူညီပေးပြီး PHP kernel ကိုစူးစမ်းလေ့လာခြင်းကိုလှုံ့ဆော်ပေးနိုင်ပါတယ်။