[李景山php] PHP扩展开发系列教程-1
来源:互联网 发布:巨人网络新游戏 编辑:程序博客网 时间:2024/06/06 16:41
PHP的核心由两部分组成。最底层是zend引擎(ZE)。另一部分是PHP内核,她绑定了SAPI层(Server Application Programming Interface).
扩展的内存管理
1 依赖ZE内部管理
2 自己写内存管理
创建基础hello 扩展
config.m4
这个是 Phpize 用来编译的扩展文件的配置文件
php_hello.h 配置文件
进行配置文件
hello.c
原文件
关键的代码
RETURN_STRING(str,0/1);
从 0 或者1 代表是否需要 ZE引擎对内存进行处理。 或者 是否拷贝
同理有,RETURN_LONG(),RETURN_DOUBLE(),等等
新增扩展内部函数
如何在扩展中新增一个函数
1 在 扩展.c中function_entry 结构中添加对应的 PHP_FE();
static function_entry hello_functions[] {
PHP_FE(hello_long,NULL);
}
2 在扩展文件中添加相应函数的实现
PHP_FUNCTION(hello_long){
RETURN_DOUBLE(3.1415926);
}
3 在扩展的头文件,如 php_hello.h函数中添加函数原型声明
PHP_FUNCTION(hello_long);
添加新的函数后,可以重新在编译一次, 推荐 make clean all
非标量的返回类型
资源[msyql_connect],数组,对象(new class)
通过php.ini初始化你扩展的配置
下一节继续。
阅读全文
0 0
- [李景山php] PHP扩展开发系列教程-1
- [李景山php] PHP扩展开发系列教程2-设置全局变量
- [李景山php] PHP扩展开发系列教程2-通过php.ini初始化你扩展的配置
- [李景山php] PHP扩展开发系列教程3-接收用户参数
- [李景山php] php扩展开发系列--环境准备及安装
- [李景山php] php扩展开发系列--环境准备及安装
- PHP扩展开发-创建扩展
- 开发PHP扩展模块
- 开发PHP扩展模块
- PHP扩展开发笔记
- 开发php扩展
- 开发 PHP 扩展 DLL
- php扩展开发-准备工作
- 开发PHP扩展模块
- 开发 PHP 扩展 DLL
- PHP扩展库开发
- PHP扩展开发
- php扩展开发
- 实时系统与分时系统
- HDU 最大公约数和最小公倍数
- Java集合----HashSet的实现原理
- python中的对象与参考
- java 判断字符串中是否包含汉字
- [李景山php] PHP扩展开发系列教程-1
- unity3d父子定位
- JavaScript之执行环境及作用域
- Windows Socket套接字(三)-MFC套接字编程
- html 表格单元格的宽度和高度的设置
- 重写button样式
- Sublime Text中文输入法的问题
- hive权限设置
- MySQL时间函数NOW()、SYSDATE()的区别