php 函数可通过两种方式集成到 c 扩展中:使用 php_register_function() 注册函数。使用 zend api 注册函数数组。
将 PHP 函数集成到 C 扩展中:两种常用方法
方法 1:使用 php_register_function()
#include <php.h>
PHP_FUNCTION(my_php_function)
{
// PHP 函数代码...
}
PHP_MINFO_FUNCTION(my_php_function)
{
// PHP 函数信息...
}
ZEND_MODULE_STARTUP_FUNCTION(my_extension)
{
php_register_function("my_php_function", my_php_function, NULL, NULL);
return SUCCESS;
}
方法 2:使用 Zend API
立即学习“PHP免费学习笔记(深入)”;
#include <zend_API.h>
static zend_function_entry my_php_functions[] = {
ZEND_FE(my_php_function, NULL)
};
ZEND_MODULE_STARTUP_FUNCTION(my_extension)
{
zend_register_functions(my_php_functions, sizeof(my_php_functions) / sizeof(zend_function_entry));
return SUCCESS;
}
实战案例:创建一个打印“Hello, world!”的 PHP 函数
方法 1:
function my_php_function()
{
echo "Hello, world!";
}
方法 2:
PHP_FUNCTION(my_php_function)
{
php_printf("Hello, world!");
}