![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PHP扩展
文章平均质量分 79
zsjay758
这个作者很懒,什么都没留下…
展开
-
PHP扩展开发(5):参数声明
<br /><br /> 转载自:http://terrylee.me/blog/post/2011/02/12/php-extension-part1.aspx<br /> <br />在开发PHP扩展时,参数信息也需要声明,并通过ZEND_FE宏将函数与参数关联起来,注册到函数表中。大家还记得我们在快速入门篇中的一段代码吧:ZEND_BEGIN_ARG_INFO(arg_say_goodbye, 0) ZEND_ARG_INFO(0, name) ZEND_END_ARG_INFO()转载 2011-05-23 11:51:00 · 946 阅读 · 0 评论 -
PHP扩展开发(3):初始化文件
<br />转载自:http://terrylee.me/blog/post/2011/02/12/php-extension-part1.aspx<br /> <br />在开发PHP扩展时,有时候我们需要访问php.ini文件,本文通过一个例子介绍如何在PHP扩展中访问INI设置项。首先打开php_fetion_echo.h头文件(快速入门篇中的例子),在里面加上函数声明:PHP_FUNCTION(say_hello);<br />在fetion_echo.c文件中,加入下面代码:PHP_INI_BEG转载 2011-05-23 11:46:00 · 738 阅读 · 0 评论 -
PHP扩展开发(4):函数返回值
<br />转载自:http://terrylee.me/blog/post/2011/02/12/php-extension-part1.aspx<br /> <br />在第一篇快速入门里面,我们提到函数的返回值要是用Zend API里面提供的宏定义来返回,在一定程度上这么说是不正确的,其实PHP扩展里面所有的函数的返回值都是通过一个名为return_value的变量传 递的,这个变量同时也是函数中的一个参数,在PHP_FUNCTION()原型中定义。该参数总是包含有一个事先申请好空间的zval(原创 2011-05-23 11:48:00 · 1097 阅读 · 0 评论 -
PHP扩展开发(6):接收参数
转载自:http://terrylee.me/blog/post/2011/02/12/php-extension-part1.aspx函数的参数则是PHP代码层和C代码层之间交换数据的唯一途径,因为PHP的调用语法是动态的,不会做任何错误检查,所以检查参数工作需要交给开发PHP扩展人员完成,看一下我们在快速入门里面的一段代码,使用zend_parse_parameters来解析参数:PHP_FUNCTION(say_goodbye) { char *arg = NULL; int a转载 2011-05-23 13:34:00 · 1082 阅读 · 0 评论 -
PHP扩展开发(7):zval结构
<br />转载自:http://terrylee.me/blog/post/2011/02/12/php-extension-part1.aspx<br /> <br />在前面的文章多次提到了zval结构,其实所有用户定义的变量在PHP中都是用zval类型来表示的,当我门 使用zend_parse_parameters函数解析参数时,Zend引擎会根据相应的数据类型进行类型转换,而由于PHP中的数组、对象和资源类 型,在C语言中没有对应的类型,所以无法进行类型转换,它们都使用zval表示,先看一下z转载 2011-05-23 13:37:00 · 7496 阅读 · 0 评论