最近看php扩展源码,发现有很多如下面代码定义的方式:
ZEND_BEGIN_ARG_INFO(name, 0)
ZEND_ARG_INFO(。。。)
ZEND_END_ARG_INFO()
查资料得知这是使用宏声明扩展函数的参数。
=================================================================================
摘录
声明扩展函数的参数基本方式如下:
ZEND_BEGIN_ARG_INFO(name, 0|1) //0 和 1 代表了什么?
<arg1>
<arg2>
ZEND_END_ARG_INFO()
而每一个参数的定义可以是下列宏定义中的一个:
ZEND_ARG_INFO 声明普通参数
ZEND_ARG_OBJ_INFO 声明对象类型的参数
ZEND_ARG_ARRAY_INFO 声明数组类型的参数
ZEND_ARG_PASS_INFO(pass_by_ref) pass
ZEND_BEGIN_ARG_INFO(name, 0)
ZEND_ARG_INFO(。。。)
ZEND_END_ARG_INFO()
查资料得知这是使用宏声明扩展函数的参数。
=================================================================================
摘录
声明扩展函数的参数基本方式如下:
ZEND_BEGIN_ARG_INFO(name, 0|1) //0 和 1 代表了什么?
<arg1>
<arg2>
ZEND_END_ARG_INFO()
而每一个参数的定义可以是下列宏定义中的一个:
ZEND_ARG_INFO 声明普通参数
ZEND_ARG_OBJ_INFO 声明对象类型的参数
ZEND_ARG_ARRAY_INFO 声明数组类型的参数
ZEND_ARG_PASS_INFO(pass_by_ref) pass