3)定义函数
const zend_function_entry myext_functions[] = {
PHP_FE(myext, NULL) /* For testing, remove later. */
PHP_FE(myext_fork,NULL)
PHP_FE(myext_list,NULL)
//PHP_PE(myext_insert,LinkList* list, LinkListNode* node, int pos)
//PHP_PE(myext_get,LinkList* list, int pos)
//PHP_PE(myext_create,LinkList*)
//PHP_PE(myext_destroy,LinkList* list)
PHP_FE_END /* Must be the last line in myext_functions[] */
};
4)zend模块定义
zend_module_entry myext_module_entry = {
STANDARD_MODULE_HEADER,
"myext",
myext_functions, //代表加载定义的函数@标识
PHP_MINIT(myext),
PHP_MSHUTDOWN(myext),
PHP_RINIT(myext), /* Replace with NULL if there's nothing to do at request start */
PHP_RSHUTDOWN(myext), /* Replace with NULL if there's nothing to do at request end */
PHP_MINFO(myext),
PHP_MYEXT_VERSION,
STANDARD_MODULE_PROPERTIES
};
5)实现导出函数
PHP_FUNCTION(myext_list)
{
long lptr;
double dptr;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ld", &lptr, &dptr) == FAILURE) {
return;
}
zend_printf("lptr value ad %ld",lptr);
zend_printf("dptr value ad %ld",dptr);
}
//参数打印
zend_printf("lptr value ad %ld",lptr);
zend_printf("dptr value ad %ld",dptr);
7)完整的导出函数实现
PHP_FUNCTION(myext_list)
{
long lptr;
double dptr;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ld", &lptr, &dptr) == FAILURE) {
return;
}
zend_printf("lptr value ad %ld",lptr);
zend_printf("dptr value ad %ld",dptr);
}