php扩展导出类方式比较简单,可以在已经开发好的php扩展上直接应用,不会影响到原先的应用。只需要更改一下xxx.c(xxx为php扩展的C文件名)
第一步,编写如下代码
其中的connect,close,delete为类方法,my_connect,my_close,my_delete为php扩展导出方法第二步,建立类与类方法的关联static zend_function_entry php_my_class_functions[] = { PHP_FALIAS(connect, my_connect, NULL) PHP_FALIAS(close, my_close, NULL) PHP_FALIAS(delete, my_delete, NULL) {NULL, NULL, NULL}};
其中myClient为导出类名称。重新编译,安装,就可以在php中使用myClient类了PHP_MINIT_FUNCTION(my_ylem) { zend_class_entry ylem_class_entry; INIT_CLASS_ENTRY(ylem_class_entry, "myClient", php_my_class_functions); ylem_class_entry_ptr = zend_register_internal_class(&ylem_class_entry TSRMLS_CC); return SUCCESS; }