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章 SAPI2.1 Cli2.1.1 执行流程2.1.2 内置Web服务器2.2 Fpm2.2.1 基本实现2.2.2 Fpm的初始化2.2.3 worker——请求处理2.2.4 master——进程管理2.3 Embed2.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 转换为NULL3.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_array5.2.3 zend_execute_data5.2.4 zend_executor_globals5.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和opline5.5 运行时缓存5.6 Opcache5.6.1 opcode优化5.6.2 JIT5.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 const9.2.2 define()9.3 全局变量9.3.1 全局变量符号表9.3.2 全局变量的访问9.3.3 全局变量的销毁9.3.4 超全局变量9.4 分支结构9.4.1 if9.4.2 switch9.5 循环结构9.5.1 while9.5.2 do while9.5.3 for9.5.4 foreach9.6 中断及跳转9.6.1 break/continue9.6.2 goto9.7 include/require9.8 异常处理9.8.1 PHP中的try catch9.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扫描