PHP extension ဆိုသည်မှာ PHP ဘာသာစကား၏ဇာတိလုပ်ဆောင်ချက်ကိုမြှင့်တင်ရန် C ဘာသာစကားဖြင့်တီထွင်ထားသော dynamic စာကြည့်တိုက်တစ်ခုဖြစ်သည်။ Custom Extensions မှတစ်ဆင့် developer များသည် PHP သို့လုပ်ငန်းဆောင်တာအသစ်များ, အတန်းများနှင့်ဒေတာအဆောက်အ ဦ များထည့်သွင်းနိုင်ပြီးစွမ်းဆောင်ရည်နှင့်လုပ်ဆောင်နိုင်စွမ်းတို့တွင်အောင်မြင်မှုများရရှိခြင်းဖြစ်သည်။ ယခင်ဗားရှင်းများနှင့်နှိုင်းယှဉ်လျှင် PHP7 သည်တိုးချဲ့ပညာဗိသုကာလက်ရာများနှင့်ပိုမိုကောင်းမွန်သောစွမ်းဆောင်ရည်နှင့်ပိုမိုကောင်းမွန်သော syntax နှင့်အတူပိုမိုကောင်းမွန်အောင်ပြုလုပ်နိုင်သည်။
PHP7 extension များကိုထုတ်လုပ်သည့်အခါ parameters များကိုဖြတ်သန်းသွားသောအခါအဓိကအားဖြင့်တန်ဖိုးများနှင့်ကိုးကားချက်နှစ်ခုအပါအ 0 င်အဓိကဆက်သွယ်မှုများအနက်မှတစ်ခုဖြစ်သည်။ ဤ parameteron ငွေလွှဲပြောင်းခြင်းယန္တရားနှစ်ခုကိုအကောင်အထည်ဖော်မှုကိုအောက်ပါဥပမာများကရှင်းပြလိမ့်မည်။
တန်ဖိုးလွှဲပြောင်းနည်းသည် function အတွင်းရှိ parameter တန်ဖိုးများကိုပြုပြင်ခြင်းကိုဆိုလိုသည်မှာမူလ variable ကိုထိခိုက်လိမ့်မည်မဟုတ်ပါ။ သာ parameter သည်တန်ဖိုးများကိုသာဖတ်နေသည့်အခြေအနေများအတွက်သင့်တော်သည်။
PHP_FUNCTION(my_function) {
int arg1;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &arg1) == FAILURE) {
return;
}
// parameter သည်တန်ဖိုးများကိုပြုပြင်မွမ်းမံပါ
arg1 = arg1 * 2;
RETURN_LONG(arg1);
}
အထက်ပါကုဒ်များတွင်အတည်ပြုထားသောကိန်းဂဏန်းများကို Zend_parse_Parameters function မှတဆင့်ခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်မြှောက်ခြင်းများနှင့်နောက်ဆုံးတွင်ပြုပြင်ထားသောရလဒ်ကို Return_long ကို အသုံးပြု. ပြန်လည်ရောက်ရှိလာသည်။
ဖြတ်သန်းသွားသော variable ၏တန်ဖိုးကိုတိုက်ရိုက်ပြုပြင်ရန်နှင့် input parameters များကိုပြုပြင်ရန်လိုအပ်သည့်အချက်အလက်များအတွက်သင့်တော်သောမှတ်ဉာဏ်လိပ်စာကိုတိုက်ရိုက်ပြုပြင်ရန်ရည်ညွှန်းချက်ဆိုင်ရာအချက်များကိုအသုံးပြုပါ။
PHP_FUNCTION(my_function) {
int arg1;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &arg1) == FAILURE) {
return;
}
// parameter သည်တန်ဖိုးများကိုပြုပြင်မွမ်းမံပါ
arg1 = arg1 * 2;
RETURN_LONG(arg1);
}
Code form သည် passing တန်ဖိုးများနှင့်ဆင်တူသော်လည်း, နောက်ခံအပြောင်းအလဲအတွက်ယုတ္တိဗေဒတွင်ရည်ညွှန်းနည်းလမ်းသည် parameter memory ကိုတိုက်ရိုက် manipulate လုပ်နိုင်သည်။
ပြန်လည်ထူထောင်ရေးတန်ဖိုးများသည်တိုးချဲ့ခြင်းတွင်ထပ်တူအရေးကြီးသည်။ PHP7 သည်အချက်အလက်များကို macro definitions များဖြင့်ပြန်ပို့ခြင်းအတွက်အကျိုးရှိစွာထောက်ခံသည်။
သင် string ကိုပြန်ပို့ရန်လိုအပ်ပါက Return_String macro ကိုသုံးနိုင်သည်။
PHP_FUNCTION(my_function) {
RETURN_STRING("Hello, world", 1);
}
ဒုတိယ parameter 1 က string ကိုကူးယူရန်ဤနေရာတွင်ဖော်ပြထားသည်မှာ Passing 1 ဆိုသည်မှာ PHP သည် string data ကိုအလိုအလျောက်ခွဲဝေပြီးကူးယူလိမ့်မည်ဟုဆိုလိုသည်။
ကိန်းဂဏန်းများကိုပြန်ပို့ရန်နည်းလမ်းမှာတိုက်ရိုက်ဖြစ်သည်။
PHP_FUNCTION(my_function) {
RETURN_LONG(42);
}
Return_long Macro မှတဆင့်ကိန်းဂဏန်းများကို PHP Layer သို့ PHP Layer သို့ PHP Layer သို့ပြန်လည်ရောက်ရှိနိုင်သည်။
ဤဆောင်းပါးသည် Php7 တိုးချဲ့မှုဖွံ့ဖြိုးတိုးတက်မှုအတွက် PHP7 တိုးချဲ့မှုဖွံ့ဖြိုးတိုးတက်မှုအတွက် Return Development ကိုဖြတ်သန်းရန်အတွက်ပုံမှန်ထုတ်လုပ်မှုနည်းလမ်းများကိုမိတ်ဆက်ပေးသည့်အရာနှင့် parameter ကိုကိုးကားခြင်းအပါအ 0 င်, ဤအခြေခံစွမ်းရည်များကိုကျွမ်းကျင်စေရန်ပိုမိုထိရောက်သောတည်ငြိမ်သော PHP တိုးချဲ့မှု module များကိုဖွံ့ဖြိုးတိုးတက်စေရန်ကူညီပေးပြီး PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင် C ဘာသာစကား၏စွမ်းဆောင်ရည်အားသာချက်များကို ထပ်မံ. ဖြန့်ဖြူးရောင်းချရန်ကူညီလိမ့်မည်။