PHP扩展开发之数字参数传递
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP扩展开发之数字参数传递相关的知识,希望对你有一定的参考价值。
1.先创建一个扩展文件夹,参考【 2,编写代码 1.vi hello.c 2.#添加下面的代码 ZEND_BEGIN_ARG_INFO(addition_arginfo, 0) ZEND_ARG_INFO(0, num1) ZEND_ARG_INFO(0, num2) ZEND_END_ARG_INFO() php_FUNCTION(addition) { long num1,num2; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ll", &num1, &num2) == FAILURE) { return; } RETURN_LONG(num1+num2); } 3.在数组中添加函数名: const zend_function_entry hello_functions[] = { PHP_FE(addition, NULL) /* addition function */ } 解释: 这里创建的拓展名为hello,所以需要编辑hello.c文件,在里面加上相应的函数。这里加上了addition 函数,主要功能是实现两个参数的相加。定义了2个参数,num1与num2。 ZEND_BEGIN_ARG_INFO :开始参数块定义 ZEND_END_ARG_INFO :结束参数块定义 ZEND_ARG_INFO :声明普通参数 PHP_FUNCTION(addition) :这里是为扩展添加具体的函数,函数名为(addition) 函数内定义了两个long类型的变量,这里定义的变量与上面参数块中定义的对应。 RETURN_LONG:表示返回一个long类型的值, 4.编译安装扩展, 5.测试addition函数是否可用: php -r ‘echo addition(10,40);‘
以上是关于PHP扩展开发之数字参数传递的主要内容,如果未能解决你的问题,请参考以下文章