所以我决定为php写一个扩展。一切似乎都很好,只是我遇到了一个小问题。
我php-5.4.9
有源代码。有ext/standard/mail.c
很棒的功能的文件
PHPAPI int php_mail(char *to, char *subject, char *message, char *headers, char *extra_cmd TSRMLS_DC)
在我的扩展中,acme.c
我包含
...
#include "php.h"
#include "ext/standard/php_mail.h"
#include "php_ini.h"
...
所以php_mail
感觉很好,工作正常。但是,很明显,我想使用从mail.c
第 101 行开始到第 189 行结束的代码(http://pastie.org/5444192 5-93 粘贴中的相应行)。所以我突然想到了(虽然在某些方面很尴尬)为什么不打电话PHP_FUNCTION(mail)
?到那时我找不到那个宏,实际上我想知道实现这个想法的最佳方法。
我的内部 zend 工程师(新手)建议我使用call_user_function
ZEND_API int call_user_function(HashTable *function_table, zval **object_pp, zval *function_name, zval *retval_ptr, zend_uint param_count, zval *params[] TSRMLS_DC);
但我不知道如何调用它。
问题!如何(非常mail
欢迎使用函数示例)调用由 ? 定义的函数?PHP_FUNCTION