图书介绍

PHP 7底层设计与源码实现PDF|Epub|txt|kindle电子书版本网盘下载

PHP 7底层设计与源码实现
  • 陈雷,黄桃,李长林,李志,王坤,肖涛,朱栋编著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111599197
  • 出版时间:2018
  • 标注页数:424页
  • 文件大小:64MB
  • 文件页数:440页
  • 主题词:PHP语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

PHP 7底层设计与源码实现PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 PHP 7概况1

1.1 PHP简史与新特性1

1.2 PHP 7安装和调试7

1.2.1 编译安装7

1.2.2 使用GDB调试PHP 78

1.2.3 vld扩展10

1.3 PHP 7源码阅读工具介绍13

1.3.1 Source Insitght13

1.3.2 Understand16

1.3.3 Vim+Ctags19

1.4 本章小结20

第2章 初识PHP 7源码整体框架21

2.1 PHP 7语言的执行原理21

2.1.1 编译型语言与解释型语言21

2.1.2 PHP7的执行原理概述23

2.2 PHP 7内核架构26

2.3 PHP 7源码结构初步介绍27

2.3.1 sapi目录源码27

2.3.2 Zend目录源码28

2.3.3 main目录源码29

2.3.4 ext目录源码29

2.3.5 TSRM目录源码29

2.4 本章小结30

第3章 基本变量31

3.1 基本知识31

3.1.1 数据类型31

3.1.2 结构体与联合体32

3.1.3 堆和栈的基本知识34

3.2 变量的类型和实现35

3.2.1 PHP 5的zval35

3.2.2 PHP 7的zval37

3.2.3 PHP 7变量类型40

3.2.4 整型和浮点型41

3.2.5 字符串类型42

3.2.6 数组43

3.2.7 引用43

3.2.8 间接zval44

3.2.9 常量和常量AST46

3.2.10 资源类型47

3.2.11 对象47

3.3 变量的作用域49

3.3.1 全局变量49

3.3.2 局部变量49

3.3.3 中间变量50

3.3.4 静态变量51

3.3.5 常量51

3.4 对垃圾回收的支持51

3.4.1 gc的基本结构52

3.4.2 引用计数53

3.4.3 循环引用问题55

3.4.4 垃圾回收55

3.5 本章小结63

第4章 字符串64

4.1 字符串的结构64

4.1.1 PHP 7字符串的具体实现65

4.1.2 字符串的二进制安全68

4.1.3 zend_string API69

4.2 智能字符串72

4.2.1 smart_str对比smart_string72

4.2.2 智能字符串的具体实现73

4.2.3 smart_str API75

4.3 进阶76

4.3.1 字符串的赋值与写时分离76

4.3.2 字符串的类别(内部字符串)79

4.3.3 字符串的类型转换84

4.3.4 字符串的双引号与单引号87

4.3.5 PHP常用字符串操作函数实现90

4.4 本章小结92

第5章 数组的实现93

5.1 基本概念93

5.1.1 数组的语义93

5.1.2 数组的概念94

5.2 PHP 5数组的实现95

5.3 PHP 7数组的实现99

5.3.1 基本结构100

5.3.2 初始化105

5.3.3 packed array和hash array的区别114

5.3.4 插入、更新、查找和删除123

5.3.5 哈希冲突的解决130

5.3.6 扩容和rehash操作132

5.3.7 数组的递归保护134

5.4 本章小结135

第6章 面向对象136

6.1 类的种类136

6.1.1 普通类136

6.1.2 抽象类137

6.1.3 接口138

6.1.4 特性140

6.1.5 final类142

6.1.6 匿名类142

6.2 类的特性143

6.2.1 类的属性143

6.2.2 访问控制143

6.3 类的实现144

6.3.1 类的结构144

6.3.2 静态属性、常量和方法149

6.3.3 接口和特性151

6.3.4 继承152

6.4 对象的实现155

6.4.1 实现155

6.4.2 普通属性156

6.5 其他特性157

6.5.1 魔术方法157

6.5.2 自动加载157

6.6 本章小结159

第7章 生命周期160

7.1 基础知识160

7.1.1 信号处理160

7.1.2 SAPI简介164

7.1.3 SAPI核心结构SG(v)166

7.2 CLI模式的生命周期167

7.2.1 模块初始化阶段168

7.2.2 请求初始化阶段175

7.2.3 执行阶段177

7.2.4 请求关闭阶段178

7.2.5 模块关闭阶段179

7.2.6 其他工作180

7.3 FPM模式的生命周期181

7.3.1 多进程管理182

7.3.2 网络编程193

7.3.3 FastCGI协议195

7.4 其他模式200

7.5 本章小结201

第8章 配置文件解析202

8.1 配置文件简介202

8.2 配置基本语法203

8.3 配置文件的加载204

8.4 扩展配置208

8.5 运行时的配置212

8.6 本章小结213

第9章 内存管理214

9.1 内存管理的意义214

9.2 内存管理的准备知识216

9.2.1 基本概念216

9.2.2 内存对齐218

9.3 内存管理的数据结构219

9.3.1 _zend_mm_heap219

9.3.2 _zend_mm_chunk223

9.4 内存管理的详细实现226

9.4.1 内存管理初始化227

9.4.2 内存申请227

9.4.3 内存管理之huge内存229

9.4.4 内存管理之large内存230

9.4.5 内存管理之small内存231

9.5 内存回收234

9.6 本章小结235

第10章 词法和语法分析236

10.1 基础知识236

10.1.1 编译器237

10.1.2 源程序分析237

10.1.3 BNF范式241

10.2 词法与语法分析器242

10.2.1 Lex与YACC242

10.2.2 Re2c与Bison247

10.3 Token类型252

10.4 PHP 7词法与语法相关数据结构253

10.4.1 CG(v)宏253

10.4.2 zend_stack255

10.4.3 zend_ast相关结构255

10.4.4 zend_arena262

10.4.5 zend_parser_stack_elem262

10.5 PHP 7词法与语法分析263

10.5.1 整体过程263

10.5.2 词法与语法分析阶段263

10.6 AST的优势273

10.7 源码中的其他使用275

10.8 本章小结275

第11章 Zend虚拟机276

11.1 基础知识276

11.1.1 Zend虚拟机架构276

11.1.2 符号表278

11.1.3 函数调用栈278

11.1.4 指令280

11.2 相关数据结构281

11.2.1 EG(v)281

11.2.2 符号表281

11.2.3 指令284

11.2.4 指令集288

11.2.5 执行数据290

11.2.6 执行栈291

11.3 AST编译过程294

11.3.1 op_array初始化294

11.3.2 AST编译295

11.3.3 设置指令handler307

11.4 执行过程308

11.4.1 执行栈分配309

11.4.2 初始化execute_data309

11.4.3 调用hanlder函数执行311

11.4.4 释放execute_data315

11.5 其他调度方式315

11.6 本章小结316

第12章 基本语法实现317

12.1 条件判断317

12.2 循环语句322

12.2.1 foreach语句322

12.2.2 while语句324

12.2.3 for语句327

12.2.4 do while语句329

12.3 中断与跳转331

12.3.1 break的实现331

12.3.2 goto的实现335

12.4 文件引入338

12.5 异常/错误处理339

12.6 本章小结343

第13章 函数实现344

13.1 基础知识344

13.2 用户定义函数的编译345

13.3 用户定义函数的执行352

13.4 内置函数358

13.4.1 内置函数的注册358

13.4.2 内置函数的执行360

13.5 本章小结360

第14章 扩展361

14.1 扩展的实现原理362

14.2 PHP扩展363

14.2.1 扩展的实现363

14.2.2 JSON扩展366

14.3 Zend扩展367

14.3.1 Zend扩展的实现367

14.3.2 opcache扩展369

14.4 自定义扩展378

14.4.1 初始化379

14.4.2 编译配置380

14.4.3 功能实现381

14.4.4 注册配置项383

14.4.5 编译、安装385

14.5 本章小结386

附录A php.ini配置项说明387

附录B Token与opcode含义对应表413

热门推荐