当前位置:首页 > 工业技术
PHP 7内核剖析
PHP 7内核剖析

PHP 7内核剖析PDF电子书下载

工业技术

  • 电子书积分:15 积分如何计算积分?
  • 作 者:秦朋著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2017
  • ISBN:9787121328107
  • 页数:479 页
图书介绍:PHP作为最流行的语言之一 ,自第一个版本发布至今的二十几年里经历了多次重大的改进,PHP7版本最大的特色在其性能上的突破,比PHP5快了一倍。目前PHP7已经得到广泛的应用,越来越多的项目从PHP5迁移到PHP7。目前,关于PHP内核的资料非常有限,本书以当前最为流行的PHP7版本为例,系统地、尽可能详细地介绍PHP语言底层的实现,旨在帮助更多的开发者进一步理解PHP,参与到PHP的实现中,为未来PHP的发展贡献一份力!全书内容主要包括PHP数据类型的实现、PHP的编译及执行、PHP内存的管理、函数及面向对象的实现、PHP基础语法的实现,以及PHP扩展的开发。
《PHP 7内核剖析》目录
标签:内核 剖析

第1章 PHP基础架构 1

1.1 简介 1

1.2 安装及调试 2

1.3 PHP7的变化 3

1.4 PHP的构成 6

1.5 生命周期 7

1.6 小结 13

第2章 SAPI 14

2.1 Cli 14

2.1.1 执行流程 15

2.1.2 内置Web服务器 19

2.2 Fpm 19

2.2.1 基本实现 20

2.2.2 Fpm的初始化 22

2.2.3 worker——请求处理 26

2.2.4 master——进程管理 29

2.3 Embed 36

2.3.1 实现 37

2.3.2 使用 38

2.4 小结 40

第3章 数据类型 41

3.1 变量 41

3.1.1 变量类型 42

3.1.2 内部实现 43

3.2 字符串 45

3.3 数组 46

3.3.1 基本实现 48

3.3.2 散列函数 50

3.3.3 数组的初始化 50

3.3.4 插入 51

3.3.5 哈希冲突 52

3.3.6 查找 54

3.3.7 扩容 55

3.4 引用 57

3.5 类型转换 58

3.5.1 转换为NULL 59

3.5.2 转换为布尔型 59

3.5.3 转换为整型 61

3.5.4 转换为浮点型 63

3.5.5 转换为字符串 63

3.5.6 转换为数组 65

3.5.7 转换为对象 67

3.6 小结 68

第4章 内存管理 69

4.1 变量的自动GC机制 69

4.1.1 引用计数 70

4.1.2 写时复制 73

4.1.3 回收时机 74

4.2 垃圾回收 74

4.2.1 回收算法 76

4.2.2 具体实现 77

4.3 内存池 83

4.3.1 内存池的初始化 87

4.3.2 内存分配 89

4.3.3 系统内存分配 99

4.3.4 内存释放 100

4.4 线程安全 103

4.4.1 TSRM的基本实现 104

4.4.2 线程私有数据 112

4.4.3 线程局部存储 114

4.5 小结 117

第5章 PHP的编译与执行 118

5.1 语言的编译与执行 118

5.1.1 编译型语言 119

5.1.2 解释型语言 124

5.2 Zend虚拟机 126

5.2.1 opline指令 127

5.2.2 zend_op_array 130

5.2.3 zend_execute_data 133

5.2.4 zend_executor_globals 134

5.3 PHP的编译 136

5.3.1 词法、语法解析 136

5.3.2 抽象语法树编译 145

5.3.3 pass_two() 157

5.4 PHP的执行 160

5.4.1 handler的定义 160

5.4.2 调度方式 162

5.4.3 执行流程 165

5.4.4 全局execute_data和opline 173

5.5 运行时缓存 177

5.6 Opcache 183

5.6.1 opcode优化 191

5.6.2 JIT 195

5.7 小结 196

第6章 函数 197

6.1 用户自定义函数 197

6.1.1 语法解析 200

6.1.2 抽象语法树的编译 202

6.2 内部函数 216

6.3 函数的调用 218

6.4 函数的执行 223

6.5 小结 231

第7章 面向对象 232

7.1 类 232

7.1.1 常量 235

7.1.2 成员属性 236

7.1.3 成员方法 240

7.1.4 类的编译 242

7.1.5 内部类 255

7.1.6 类的自动加载 255

7.2 对象 258

7.2.1 对象的创建 261

7.2.2 非静态成员属性的读写 266

7.2.3 对象的复制 270

7.2.4 对象的比较 271

7.2.5 对象的销毁 272

7.3 继承 273

7.3.1 常量的继承 281

7.3.2 成员属性的继承 282

7.3.3 成员方法的继承 284

7.4 动态属性 284

7.5 魔术方法 288

7.6 小结 291

第8章 命名空间 292

8.1 概述 292

8.2 命名空间的定义 293

8.3 命名空间的使用 298

8.3.1 use导入 299

8.3.2 动态用法 310

8.4 小结 310

第9章 PHP基础语法的实现 311

9.1 静态变量 312

9.2 常量 319

9.2.1 const 320

9.2.2 define() 322

9.3 全局变量 324

9.3.1 全局变量符号表 324

9.3.2 全局变量的访问 326

9.3.3 全局变量的销毁 328

9.3.4 超全局变量 328

9.4 分支结构 328

9.4.1 if 329

9.4.2 switch 334

9.5 循环结构 340

9.5.1 while 340

9.5.2 do while 343

9.5.3 for 345

9.5.4 foreach 347

9.6 中断及跳转 355

9.6.1 break/continue 355

9.6.2 goto 361

9.7 include/require 364

9.8 异常处理 371

9.8.1 PHP中的try catch 371

9.8.2 内核中的异常处理 380

9.9 break/continue LABEL语法的实现 382

9.10 小结 390

第10章 扩展开发 391

10.1 扩展的内部实现 391

10.2 扩展的构成及编译 395

10.2.1 脚本工具 398

10.2.2 扩展的编写步骤 404

10.2.3 config.m4 404

10.3 钩子函数 406

10.3.1 模块初始化阶段 406

10.3.2 请求初始化阶段 407

10.3.3 请求结束阶段 408

10.3.4 post deactivate阶段 409

10.3.5 模块关闭阶段 410

10.4 全局资源 412

10.5 ini配置 414

10.6 函数 419

10.6.1 内部函数注册 420

10.6.2 函数参数解析 423

10.6.3 引用传参 438

10.6.4 函数返回值 442

10.6.5 函数调用 444

10.7 Zval的操作 449

10.7.1 zval的创建及获取 449

10.7.2 变量复制 453

10.7.3 引用计数 454

10.7.4 字符串操作 457

10.7.5 数组操作 458

10.8 常量 464

10.9 面向对象 465

10.9.1 内部类注册 465

10.9.2 成员属性 467

10.9.3 成员方法 471

10.9.4 常量 472

10.9.5 类的实例化 473

10.10 资源 473

10.11 小结 479

相关图书
作者其它书籍
返回顶部