哪种方法最适合将 PHP 函数集成到 C 扩展中?
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;}</php.h>
方法 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;}</zend_api.h>
实战案例:创建一个打印“Hello, world!”的 PHP 函数
方法 1:
function my_php_function(){ echo "Hello, world!";}
方法 2:
PHP_FUNCTION(my_php_function){ php_printf("Hello, world!");}