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; }
本文介绍了一种简单的方法来导出PHP扩展中的类及其实现步骤:通过修改C源文件,定义类方法与扩展方法的映射,并通过初始化类入口来注册内部类。
116

被折叠的 条评论
为什么被折叠?



