PHP ဘာသာစကား၏စဉ်ဆက်မပြတ်ဖွံ့ဖြိုးတိုးတက်မှုနှင့်အတူ PHP extensions ၏အရေးအသားနှင့်အသုံးပြုမှုကိုအာရုံစိုက်ရန်နှင့်ပိုမိုများပြားလာသူများပိုမိုအာရုံစိုက်လာကြသည်။ အစွမ်းထက်သောပရိုဂရမ်းမင်းဘာသာစကားတစ်ခုအနေဖြင့် C ++ သည်စွမ်းဆောင်ရည်ပိုမိုကောင်းမွန်ပြီးစွမ်းဆောင်ရည်အကောင်းဆုံးများကိုပိုမိုကောင်းမွန်စေသည်။ ထို့ကြောင့် developer များစွာသည် PHP extensions များကိုရေးရန် C ++ ကိုအသုံးပြုရန်ရွေးချယ်ကြသည်။ ဤဆောင်းပါးသည်အစ မှစတင်. C ++ - အခြေခံ PHP extension ကိုမည်သို့ဖန်တီးရမည်ကိုသင်ကြားပေးပြီးအသေးစိတ်စာရွက်စာတမ်းများကိုဥပမာပေးသည်။
ကျွန်ုပ်တို့မစခင် PHP တိုးချဲ့မှုသည်မည်သည့်အရာနှင့်သက်ဆိုင်သည်ကိုနားလည်ရန်လိုအပ်သည်။ PHP extensions များသည် PHP ၏အဓိကလုပ်ဆောင်ချက်များကိုထည့်သွင်းရန်နှင့်လုပ်ဆောင်မှုများကိုထည့်သွင်းရန်ရေးသားထားသော code များကိုရေးသားထားသောအခြေခံအခြေစိုက်စခန်းများဖြစ်သည်။ extensions များကိုရေးသားခြင်းအားဖြင့် PHP ၏လုပ်ဆောင်မှုကို PHP ၏အရင်းအမြစ်ကုဒ်ကိုမပြုပြင်ဘဲတိုက်ရိုက်တိုးချဲ့နိုင်သည်။ PHP extension များကို C ++ တွင် C ++ တွင်ရေးနိုင်သည်။
PPP extensions ကို C ++ အတွက်မစတင်ခင်သင်၏ဖွံ့ဖြိုးရေးပတ် 0 န်းကျင်ကို ဦး စွာပြင်ဆင်ရန်လိုအပ်သည်။ တိကျသောအဆင့်များမှာအောက်ပါအတိုင်းဖြစ်သည် -
ထို့နောက်ကျွန်ုပ်တို့သည် C ++ - အခြေခံ PHP extension ကိုတစ်ဆင့်ပြီးသွားစေပြီးရိုးရှင်းသောအင်္ဂါရပ်များထည့်ပါလိမ့်မည်။ ဤတွင်ဥပမာ exaction ကိုလိုင်းတစ်ခုစီကိုလိုင်းဖြင့်ရှင်းပြသည့်ဥပမာတစ်ခုချင်းစီကိုရှင်းပြသည့် Exaction Code တစ်ခုဖြစ်သည်။
#include "php.h"
#define PHP_MY_EXTENSION_EXTNAME "my_extension"
#define PHP_MY_EXTENSION_VERSION "1.0"
zend_module_entry my_extension_module_entry = {
STANDARD_MODULE_HEADER,
PHP_MY_EXTENSION_EXTNAME,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
PHP_MY_EXTENSION_VERSION,
STANDARD_MODULE_PROPERTIES
};
PHP_MINIT_FUNCTION(my_extension) {
return SUCCESS;
}
PHP_MSHUTDOWN_FUNCTION(my_extension) {
return SUCCESS;
}
PHP_RINIT_FUNCTION(my_extension) {
return SUCCESS;
}
PHP_RSHUTDOWN_FUNCTION(my_extension) {
return SUCCESS;
}
PHP_FUNCTION(my_extension_hello) {
php_printf("Hello World!");
}
zend_function_entry my_extension_functions[] = {
PHP_FE(my_extension_hello, NULL),
{NULL, NULL, NULL}
};
PHP_MINFO_FUNCTION(my_extension) {
php_info_print_table_start();
php_info_print_table_row(2, "my_extension support", "enabled");
php_info_print_table_end();
}
zend_module_entry *get_module() {
return &my_extension_module_entry;
}
extern "C" {
ZEND_GET_MODULE(my_extension)
}
ဤကုဒ်တွင် extension, module intacking unitutions, producting functions များစသဖြင့်အခြေခံဖွဲ့စည်းတည်ဆောက်ပုံတွင်အခြေခံဖွဲ့စည်းတည်ဆောက်ပုံတွင်ဖော်ပြထားသည်။ အပိုင်းတစ်ခုစီကိုမှတ်ချက်များဖြင့်အသေးစိတ်ရှင်းပြထားသည်။
သင်သည်သင်၏ကုဒ်ရေးသားခြင်းပြီးဆုံးသည်နှင့်တပြိုင်နက် extension ကို compile လုပ်ရန်လိုအပ်သည်။ အောက်ပါအတိုင်းအဆင့်များမှာ -
phpize
./configure --enable-my_extension
make
make install
<span class="fun">extension = my_Extension.so</span>
ကျွန်ုပ်တို့ဖန်တီးထားသော extension ကိုမည်သို့အသုံးပြုရမည်ကိုပြသသည့်ရိုးရှင်းသော PHP Code နမူနာတစ်ခုရှိသည်။
<?php
my_extension_hello();
?>
ကုဒ်နံပါတ်ကိုဖွင့်ပြီးနောက် "Hello World!" ကိုသင်တွေ့လိမ့်မည်။
ဤဆောင်းပါး၏နိဒါန်းနှင့်သင်္ကေတများမှတစ်ဆင့် PHP တိုးချဲ့မှုကိုဖန်တီးရန်နှင့်ထည့်သွင်းရန် C ++ ကိုမည်သို့အသုံးပြုရမည်ကိုသင်နားလည်နိုင်သင့်သည်။ ဤဆောင်းပါးသည်ရိုးရှင်းသောဥပမာတစ်ခုသာဖြစ်ကြောင်းသတိပြုသင့်သည်။ စင်စစ်အားဖြင့် PHP တိုးချဲ့ခြင်းဖွံ့ဖြိုးတိုးတက်မှုတွင် Memory Management, Object-Objected Prozamraming စသည်တို့အပါအ 0 င်ဗဟုသုတများပါ 0 င်သည်။