手机版

PHP内核介绍及扩展开发指南(2)

发布时间:2021-06-08   来源:未知    
字号:

介绍PHP的一些内部机制,包括变量存储、数组实现等,随后详细介绍如何编写PHP扩展

目录

目录 ............................................................................................................................................ 2 一、 基础知识 ..................................................................................................................... 4

1.1 PHP变量的存储 .................................................................................................... 4

1.1.1 zval结构 ......................................................................................................... 4 1.1.2 引用计数 ........................................................................................................ 5 1.1.3 zval状态 ......................................................................................................... 5 1.1.4 zval状态切换 ................................................................................................. 6 1.1.5 参数传递 ........................................................................................................ 9 1.2 HashTable结构 ....................................................................................................... 9

1.2.1 数据结构 ...................................................................................................... 10 1.2.2 PHP数组 ...................................................................................................... 13 1.2.3 变量符号表 .................................................................................................. 14 1.3 内存和文件 ........................................................................................................... 15 二、 Extensions 的编写 ................................................................................................... 17

2.1 Hello World ........................................................................................................... 17

2.1.1 声明导出函数 .............................................................................................. 19 2.1.2 声明导出函数块 .......................................................................................... 20 2.1.3 填写模块信息 .............................................................................................. 21 2.1.4 实现导出函数 .............................................................................................. 23 2.2 使用参数 ............................................................................................................... 24

2.2.1 标准方法 ...................................................................................................... 25 2.2.2 底层方法 ...................................................................................................... 27 2.2.3 引用传递 ...................................................................................................... 29 2.2.4 编译检查(TODO) ........................................................................................ 30 2.3 返回值................................................................................................................... 30

2.3.1 返回引用 ...................................................................................................... 31 2.4 启动和终止函数 ................................................................................................... 33 2.5 调用PHP函数 ..................................................................................................... 34 2.6 访问PHP变量 ..................................................................................................... 37

2.6.1 设置 .............................................................................................................. 37 2.6.2 获取 .............................................................................................................. 38 2.6.3 常量 .............................................................................................................. 39 2.7 输出信息 ............................................................................................................... 42 三、 高级主题 ................................................................................................................... 43

3.1 使用数组 ............................................................................................................... 43

3.1.1 关联数组元素 .............................................................................................. 43 3.1.2 非关联数组元素 .......................................................................................... 44 3.2 使用资源 ............................................................................................................... 45

3.2.1 注册资源类型 .............................................................................................. 45 3.2.2 注册资源 ...................................................................................................... 46 3.2.3 获取资源 ...................................................................................................... 47 3.2.4 维护引用计数 .............................................................................................. 48

PHP内核介绍及扩展开发指南(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)