PHP 7底层设计与源码实现
下午5点前订单,当日发货!超时赔付
¥
10.9
1.1折
¥
99
八五品
库存3件
作者陈雷 编著
出版社机械工业出版社
出版时间2018-05
版次1
装帧其他
货号9787111599197014
上书时间2024-11-25
商品详情
- 品相描述:八五品
图书标准信息
-
作者
陈雷 编著
-
出版社
机械工业出版社
-
出版时间
2018-05
-
版次
1
-
ISBN
9787111599197
-
定价
99.00元
-
装帧
其他
-
开本
16开
-
纸张
胶版纸
-
页数
424页
-
字数
100千字
- 【内容简介】
-
滴滴出行专家联合撰写,多位PHP领域大咖推荐,全面吃透PHP底层设计不二之选,全面讲解PHP内核架构、核心构成与内存管理、词法与句法解析、Zend 虚拟机、函数及关键扩展等设计细节与源码实现。
本书逻辑上分为四部分,共计14章内容。
第1~2章解读PHP 7的新特性、源码的整体框架(各目录的源码和功能)。
第3~6章详细介绍PHP 7的变量实现,涵盖基本变量zval的结构、字符串zend_string的实现、核心结构HashTable(即数组)实现,以及类与对象的实现。
第7~11章剖析PHP 7核心的实现,重点是PHP 7的生命周期,涵盖生命周期的模块初始化阶段中配置文件的解析,内存管理原理与实现,词法和语法分析的实现,核心Zend虚拟机的实现。
第12~14章介绍PHP 7中基本语法、函数、扩展的实现。
其中,第3章、第4章、第5章和第14章为本书的重点章节。
- 【作者简介】
-
陈雷
滴滴顺风车运营营销研发技术负责人,曾任腾讯高级PHP研发工程师、开心网高级PHP研发工程师、百度PHP研发工程师。清华大学计算机系本科,计算机在职硕士。目前致力于滴滴顺风车智能运营平台的建设,有很强的架构能力,丰富的业务抽象经验与管理经验。
黄桃
滴滴资深开发工程师,多年PHP开发经验,尤善高并发处理、大型网站架构,乐于钻研技术难点,愿意分享。
李长林
滴滴资深工程师,曾就职于腾讯、滴滴等知名互联网公司,专注于高并发Web后台开发,活跃于开源社区。
李志
资深Web开发者,曾任职于腾讯,现就职于滴滴。
王坤
滴滴顺风车后端开发工程师,PHP爱好者,多年开发经验,喜欢学习和交流。
肖涛
穿梭在PHP各大社区多年,具有丰富的高并发处理经验,现任职滴滴高级研发工程师。
朱栋
滴滴后端开发工程师,曾多次参与大型高并发项目的设计与开发,有丰富的后端开发经验,喜欢研究新技术,喜欢折腾。
- 【目录】
-
本书赞誉
序
前言
章php7概况1
1.1php简史与新特1
1.2php7安装和调试7
1.2.1编译安装7
1.2.2使用gdb调试php78
1.2.3vld扩展10
1.3php7源码阅读工具介绍13
1.3.1sourceinsight13
1.3.2understand16
1.3.3vim+ctags19
1.4本章小结20
第2章初识php7源码整体框架21
2.1php7语言的执行21
2.1.1编译型语言与解释型语言21
2.1.2php7的执行概述23
2.2php7内核架构26
2.3php7源码结构初步介绍27
2.3.1sapi源码27
2.3.2zend源码28
2.3.3main源码29
2.3.4ext源码29
2.3.5tsrm源码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.1php5的zval35
3.2.2php7的zval37
3.2.3php7变量类型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.1gc的基本结构52
3.4.2引用53
3.4.3循环引用问题55
3.4.4垃圾回收55
3.5本章小结63
第4章字符串64
4.1字符串的结构64
4.1.1php7字符串的具体实现65
4.1.2字符串的二进制安全68
4.1.3zend_stringapi69
4.2智能字符串72
4.2.1smart_str对比smart_string72
4.2.2智能字符串的具体实现73
4.2.3smart_strapi75
4.376
4.3.1字符串的赋值与写时分离76
4.3.2字符串的类别(字符串)79
4.3.3字符串的类型转换84
4.3.4字符串的双引号与单引号87
4.3.5php常用字符串作函数实现90
4.4本章小结92
第5章数组的实现93
5.1基本概念93
5.1.1数组的语义93
5.1.2数组的概念94
5.2php5数组的实现95
5.3php7数组的实现99
5.3.1基本结构100
5.3.2初始化105
5.3.3packedarray和hasharray的区别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.5final类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.2sapi简介164
7.1.3sapi核心结构sg(v)166
7.2cli模式的生命周期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.3fpm模式的生命周期181
7.3.1多进程管理182
7.3.2网络编程193
7.3.3fastcgi协议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
0章词法和语法分析236
10.1基础知识236
10.1.1编译器237
10.1.2源程序分析237
10.1.3bnf范式241
10.2词法与语法分析器242
10.2.1lex与yacc242
10.2.2re2c与bison247
10.3token类型252
10.4php7词法与语法相关数据结构253
10.4.1cg(v)宏253
10.4.2zend_stack255
10.4.3zend_ast相关结构255
10.4.4zend_arena262
10.4.5zend_parser_stack_elem262
10.5php7词法与语法分析263
10.5.1整体过程263
10.5.2词法与语法分析阶段263
10.6ast的优势273
10.7源码中的其他使用275
10.8本章小结275
1章zend虚拟机276
11.1基础知识276
11.1.1zend虚拟机架构276
11.1.2符号表278
11.1.3函数调用栈278
11.1.4指令280
11.2相关数据结构281
11.2.1eg(v)281
11.2.2符号表281
11.2.3指令284
11.2.4指令集288
11.2.5执行数据290
……
点击展开
点击收起
— 没有更多了 —
以下为对购买帮助不大的评价