PHP 7内核剖析
- 名 称:PHP 7内核剖析 - 下载地址1
- 类 别:计算机与网络
- 下载地址:[下载地址1]
- 提 取 码:
- 浏览次数:3
新闻评论(共有 0 条评论) |
资料介绍
PHP 7内核剖析
出版时间:2017
内容简介
PHP作为流行的语言之一,自*个版本发布至今的二十几年里经历了多次重大改进,PHP7版本*的特色在于其性能上的突破,比PHP5快了一倍。目前PHP7已经得到了广泛应用,越来越多的项目从PHP5迁移到了PHP7。目前,关于PHP内核的资料常有限,本书以当前流行的PHP7版本为基础,系统性地、尽可能详细地介绍PHP语言底层的实现,旨在帮助更多的开发者进一步理解PHP,参与到PHP的实现中,为未来PHP的发展贡献一份力量!全书内容主要括PHP数据类型的实现、PHP的编译及执行、PHP内存的管理、函数及面向对象的实现、PHP基础语法的实现,以及PHP扩展的开发。
目 录
章 PHP基础架构
1.1 简介
1.2 安装及调试
1.3 PHP7的变化
1.4 PHP的构成
1.5 生命周期
1.6 小结
第2章 SAPI
2.1 Cli
2.1.1 执行流程
2.1.2 内置Web服务器
2.2 Fpm
2.2.1 基本实现
2.2.2 Fpm的初始化
2.2.3 worker——请求处理
2.2.4 master——进程管理
2.3 Embed
2.3.1 实现
2.3.2 使用
2.4 小结
第3章 数据类型
3.1 变量
3.1.1 变量类型
3.1.2 内部实现
3.2 字符串
3.3 数组
3.3.1 基本实现
3.3.2 散列函数
3.3.3 数组的初始化
3.3.4 插入
3.3.5 哈希冲突
3.3.6 查找
3.3.7 扩容
3.4 引用
3.5 类型转换
3.5.1 转换为NULL
3.5.2 转换为布尔型
3.5.3 转换为整型
3.5.4 转换为浮点型
3.5.5 转换为字符串
3.5.6 转换为数组
3.5.7 转换为对象
3.6 小结
第4章 内存管理
4.1 变量的自动GC机制
4.1.1 引用计数
4.1.2 写时复制
4.1.3 回收时机
4.2 垃圾回收
4.2.1 回收算法
4.2.2 具体实现
4.3 内存池
4.3.1 内存池的初始化
4.3.2 内存分配
4.3.3 系统内存分配
4.3.4 内存释放
4.4 线程安全
4.4.1 TSRM的基本实现
4.4.2 线程私有数据
4.4.3 线程局部存储
4.5 小结
第5章 PHP的编译与执行
5.1 语言的编译与执行
5.1.1 编译型语言
5.1.2 解释型语言
5.2 Zend虚拟机
5.2.1 opline指令
5.2.2 zend_op_array
5.2.3 zend_execute_data
5.2.4 zend_executor_globals
5.3 PHP的编译
5.3.1 词法、语法解析
5.3.2 抽象语法树编译
5.3.3 pass_two()
5.4 PHP的执行
5.4.1 handler的定义
5.4.2 调度方式
5.4.3 执行流程
5.4.4 全局execute_data和
opline
5.5 运行时缓存
5.6 Opcache
5.6.1 opcode优化
5.6.2 JIT
5.7 小结
第6章 函数
6.1 用户自定义函数
6.1.1 语法解析
6.1.2 抽象语法树的编译
6.2 内部函数
6.3 函数的调用
6.4 函数的执行
6.5 小结
第7章 面向对象
7.1 类
7.1.1 常量
7.1.2 成员属性
7.1.3 成员方法
7.1.4 类的编译
7.1.5 内部类
7.1.6 类的自动加载
7.2 对象
7.2.1 对象的创建
7.2.2 静态成员属性的读写
7.2.3 对象的复制
7.2.4 对象的比较
7.2.5 对象的销毁
7.3 继承
7.3.1 常量的继承
7.3.2 成员属性的继承
7.3.3 成员方法的继承
7.4 动态属性
7.5 魔术方法
7.6 小结
第8章 命名空间
8.1 概述
8.2 命名空间的定义
8.3 命名空间的使用
8.3.1 use导入
8.3.2 动态用法
8.4 小结
第9章 PHP基础语法的实现
9.1 静态变量
9.2 常量
9.2.1 const
9.2.2 define()
9.3 全局变量
9.3.1 全局变量符号表
9.3.2 全局变量的访问
9.3.3 全局变量的销毁
9.3.4 超全局变量
9.4 分支结构
9.4.1 if
9.4.2 switch
9.5 循环结构
9.5.1 while
9.5.2 do while
9.5.3 for
9.5.4 foreach
9.6 中断及跳转
9.6.1 break/continue
9.6.2 goto
9.7 include/require
9.8 异常处理
9.8.1 PHP中的try catch
9.8.2 内核中的异常处理
9.9 break/continue LABEL语法的
实现
9. 小结
0章 扩展开发
.1 扩展的内部实现
.2 扩展的构成及编译
.2.1 脚本工具
.2.2 扩展的编写步骤
.2.3 config.m4
.3 钩子函数
.3.1 模块初始化阶段
.3.2 请求初始化阶段
.3.3 请求结束阶段
.3.4 post deactivate阶段
.3.5 模块关闭阶段
.4 全局资源
.5 ini配置
.6 函数
.6.1 内部函数注册
.6.2 函数参数解析
.6.3 引用传参
.6.4 函数返回值
.6.5 函数调用
.7 Zval的操作
.7.1 zval的创建及获取
.7.2 变量复制
.7.3 引用计数
.7.4 字符串操作
.7.5 数组操作
.8 常量
.9 面向对象
.9.1 内部类注册
.9.2 成员属性
.9.3 成员方法
.9.4 常量
.9.5 类的实例化
. 资源
.11 小结
出版时间:2017
内容简介
PHP作为流行的语言之一,自*个版本发布至今的二十几年里经历了多次重大改进,PHP7版本*的特色在于其性能上的突破,比PHP5快了一倍。目前PHP7已经得到了广泛应用,越来越多的项目从PHP5迁移到了PHP7。目前,关于PHP内核的资料常有限,本书以当前流行的PHP7版本为基础,系统性地、尽可能详细地介绍PHP语言底层的实现,旨在帮助更多的开发者进一步理解PHP,参与到PHP的实现中,为未来PHP的发展贡献一份力量!全书内容主要括PHP数据类型的实现、PHP的编译及执行、PHP内存的管理、函数及面向对象的实现、PHP基础语法的实现,以及PHP扩展的开发。
目 录
章 PHP基础架构
1.1 简介
1.2 安装及调试
1.3 PHP7的变化
1.4 PHP的构成
1.5 生命周期
1.6 小结
第2章 SAPI
2.1 Cli
2.1.1 执行流程
2.1.2 内置Web服务器
2.2 Fpm
2.2.1 基本实现
2.2.2 Fpm的初始化
2.2.3 worker——请求处理
2.2.4 master——进程管理
2.3 Embed
2.3.1 实现
2.3.2 使用
2.4 小结
第3章 数据类型
3.1 变量
3.1.1 变量类型
3.1.2 内部实现
3.2 字符串
3.3 数组
3.3.1 基本实现
3.3.2 散列函数
3.3.3 数组的初始化
3.3.4 插入
3.3.5 哈希冲突
3.3.6 查找
3.3.7 扩容
3.4 引用
3.5 类型转换
3.5.1 转换为NULL
3.5.2 转换为布尔型
3.5.3 转换为整型
3.5.4 转换为浮点型
3.5.5 转换为字符串
3.5.6 转换为数组
3.5.7 转换为对象
3.6 小结
第4章 内存管理
4.1 变量的自动GC机制
4.1.1 引用计数
4.1.2 写时复制
4.1.3 回收时机
4.2 垃圾回收
4.2.1 回收算法
4.2.2 具体实现
4.3 内存池
4.3.1 内存池的初始化
4.3.2 内存分配
4.3.3 系统内存分配
4.3.4 内存释放
4.4 线程安全
4.4.1 TSRM的基本实现
4.4.2 线程私有数据
4.4.3 线程局部存储
4.5 小结
第5章 PHP的编译与执行
5.1 语言的编译与执行
5.1.1 编译型语言
5.1.2 解释型语言
5.2 Zend虚拟机
5.2.1 opline指令
5.2.2 zend_op_array
5.2.3 zend_execute_data
5.2.4 zend_executor_globals
5.3 PHP的编译
5.3.1 词法、语法解析
5.3.2 抽象语法树编译
5.3.3 pass_two()
5.4 PHP的执行
5.4.1 handler的定义
5.4.2 调度方式
5.4.3 执行流程
5.4.4 全局execute_data和
opline
5.5 运行时缓存
5.6 Opcache
5.6.1 opcode优化
5.6.2 JIT
5.7 小结
第6章 函数
6.1 用户自定义函数
6.1.1 语法解析
6.1.2 抽象语法树的编译
6.2 内部函数
6.3 函数的调用
6.4 函数的执行
6.5 小结
第7章 面向对象
7.1 类
7.1.1 常量
7.1.2 成员属性
7.1.3 成员方法
7.1.4 类的编译
7.1.5 内部类
7.1.6 类的自动加载
7.2 对象
7.2.1 对象的创建
7.2.2 静态成员属性的读写
7.2.3 对象的复制
7.2.4 对象的比较
7.2.5 对象的销毁
7.3 继承
7.3.1 常量的继承
7.3.2 成员属性的继承
7.3.3 成员方法的继承
7.4 动态属性
7.5 魔术方法
7.6 小结
第8章 命名空间
8.1 概述
8.2 命名空间的定义
8.3 命名空间的使用
8.3.1 use导入
8.3.2 动态用法
8.4 小结
第9章 PHP基础语法的实现
9.1 静态变量
9.2 常量
9.2.1 const
9.2.2 define()
9.3 全局变量
9.3.1 全局变量符号表
9.3.2 全局变量的访问
9.3.3 全局变量的销毁
9.3.4 超全局变量
9.4 分支结构
9.4.1 if
9.4.2 switch
9.5 循环结构
9.5.1 while
9.5.2 do while
9.5.3 for
9.5.4 foreach
9.6 中断及跳转
9.6.1 break/continue
9.6.2 goto
9.7 include/require
9.8 异常处理
9.8.1 PHP中的try catch
9.8.2 内核中的异常处理
9.9 break/continue LABEL语法的
实现
9. 小结
0章 扩展开发
.1 扩展的内部实现
.2 扩展的构成及编译
.2.1 脚本工具
.2.2 扩展的编写步骤
.2.3 config.m4
.3 钩子函数
.3.1 模块初始化阶段
.3.2 请求初始化阶段
.3.3 请求结束阶段
.3.4 post deactivate阶段
.3.5 模块关闭阶段
.4 全局资源
.5 ini配置
.6 函数
.6.1 内部函数注册
.6.2 函数参数解析
.6.3 引用传参
.6.4 函数返回值
.6.5 函数调用
.7 Zval的操作
.7.1 zval的创建及获取
.7.2 变量复制
.7.3 引用计数
.7.4 字符串操作
.7.5 数组操作
.8 常量
.9 面向对象
.9.1 内部类注册
.9.2 成员属性
.9.3 成员方法
.9.4 常量
.9.5 类的实例化
. 资源
.11 小结
下一篇: 白帽子讲Web扫描
上一篇: 基于免疫计算的机器学习方法及应用