【现货!】PHP 7底层设计与源码实现 陈雷等 机械工业出版社
二手会有少量涂画,整体不影响再次阅读使用!套装不一定齐全,请下单前咨询在线客服!
¥
14
1.4折
¥
99
八五品
仅1件
作者陈雷等
出版社机械工业出版社
ISBN9787111599197
出版时间2018-06
版次1
装帧平装
开本16开
纸张胶版纸
定价99元
货号9787111599197
上书时间2024-12-11
商品详情
- 品相描述:八五品
- 商品描述
-
基本信息
书名:PHP 7底层设计与源码实现
定价:99.00元
作者:陈雷等
出版社:机械工业出版社
出版日期:2018-06-01
ISBN:9787111599197
字数:
页码:
版次:
装帧:平装
开本:16开
商品重量:
编辑推荐
适读人群 :PHP开发工程师 Web开发工程师 架构师 性能优化工程师 其他爱好者 1)滴滴出行专家联合撰写,多位PHP领域大咖推荐,全面吃透PHP底层设计之选2)全面讲解PHP内核架构、核心实现与内存管理、词法与句法解析、Zend 虚拟机、函数及关键扩展等设计细节与源码实现
内容提要
滴滴出行专家联合撰写,多位PHP领域大咖推荐,全面吃透PHP底层设计之选,全面讲解PHP内核架构、核心构成与内存管理、词法与句法解析、Zend 虚拟机、函数及关键扩展等设计细节与源码实现。本书逻辑上分为四部分,共计14章内容。 ~2章解读PHP 7的新特性、源码的整体框架(各目录的源码和功能)。 第3~6章详细介绍PHP 7的变量实现,涵盖基本变量zval的结构、字符串zend_string的实现、核心结构HashTable(即数组)实现,以及类与对象的实现。 第7~11章剖析PHP 7核心的实现,重点是PHP 7的生命周期,涵盖生命周期的模块初始化阶段中配置文件的解析,内存管理原理与实现,词法和语法分析的实现,核心Zend虚拟机的实现。 2~14章介绍PHP 7中基本语法、函数、扩展的实现。 其中,第3章、第4章、第5章和4章为本书的重点章节。
目录
目录 Contents本书赞誉序前言章 PHP 7概况11.1 PHP简史与新特性11.2 PHP 7安装和调试71.2.1 编译安装71.2.2 使用GDB调试PHP 781.2.3 vld扩展101.3 PHP 7源码阅读工具介绍131.3.1 Source Insight131.3.2 Understand161.3.3 Vim+Ctags191.4 本章小结20第2章 初识PHP 7源码整体框架212.1 PHP 7语言的执行原理212.1.1 编译型语言与解释型语言212.1.2 PHP 7的执行原理概述232.2 PHP 7内核架构262.3 PHP 7源码结构初步介绍272.3.1 sapi目录源码272.3.2 Zend目录源码282.3.3 main目录源码292.3.4 ext目录源码292.3.5 TSRM目录源码292.4 本章小结30第3章 基本变量313.1 基本知识313.1.1 数据类型313.1.2 结构体与联合体323.1.3 堆和栈的基本知识343.2 变量的类型和实现353.2.1 PHP 5的zval353.2.2 PHP 7的zval373.2.3 PHP 7变量类型403.2.4 整型和浮点型413.2.5 字符串类型423.2.6 数组433.2.7 引用433.2.8 间接zval443.2.9 常量和常量AST463.2.10 资源类型473.2.11 对象473.3 变量的作用域493.3.1 全局变量493.3.2 局部变量493.3.3 中间变量503.3.4 静态变量513.3.5 常量513.4 对垃圾回收的支持513.4.1 gc的基本结构523.4.2 引用计数533.4.3 循环引用问题553.4.4 垃圾回收553.5 本章小结63第4章 字符串644.1 字符串的结构644.1.1 PHP 7字符串的具体实现654.1.2 字符串的二进制安全684.1.3 zend_string API694.2 智能字符串724.2.1 smart_str对比smart_string724.2.2 智能字符串的具体实现734.2.3 smart_str API754.3 进阶764.3.1 字符串的赋值与写时分离764.3.2 字符串的类别(内部字符串)794.3.3 字符串的类型转换844.3.4 字符串的双引号与单引号874.3.5 PHP常用字符串操作函数实现904.4 本章小结92第5章 数组的实现935.1 基本概念935.1.1 数组的语义935.1.2 数组的概念945.2 PHP 5数组的实现955.3 PHP 7数组的实现995.3.1 基本结构1005.3.2 初始化1055.3.3 packed array和hash array的区别1145.3.4 插入、更新、查找和删除1235.3.5 哈希冲突的解决1305.3.6 扩容和rehash操作1325.3.7 数组的递归保护1345.4 本章小结135第6章 面向对象1366.1 类的种类1366.1.1 普通类1366.1.2 抽象类1376.1.3 接口1386.1.4 特性1406.1.5 final类1426.1.6 匿名类1426.2 类的特性1436.2.1 类的属性1436.2.2 访问控制1436.3 类的实现1446.3.1 类的结构1446.3.2 静态属性、常量和方法1496.3.3 接口和特性1516.3.4 继承1526.4 对象的实现1556.4.1 实现1556.4.2 普通属性1566.5 其他特性1576.5.1 魔术方法1576.5.2 自动加载1576.6 本章小结159第7章 生命周期1607.1 基础知识1607.1.1 信号处理1607.1.2 SAPI简介1647.1.3 SAPI核心结构SG(v)1667.2 CLI模式的生命周期1677.2.1 模块初始化阶段1687.2.2 请求初始化阶段1757.2.3 执行阶段1777.2.4 请求关闭阶段1787.2.5 模块关闭阶段1797.2.6 其他工作1807.3 FPM模式的生命周期1817.3.1 多进程管理1827.3.2 网络编程1937.3.3 FastCGI协议1957.4 其他模式2007.5 本章小结201第8章 配置文件解析2028.1 配置文件简介2028.2 配置基本语法2038.3 配置文件的加载2048.4 扩展配置2088.5 运行时的配置2128.6 本章小结213第9章 内存管理2149.1 内存管理的意义2149.2 内存管理的准备知识2169.2.1 基本概念2169.2.2 内存对齐2189.3 内存管理的数据结构2199.3.1 _zend_mm_heap2199.3.2 _zend_mm_chunk2239.4 内存管理的详细实现2269.4.1 内存管理初始化2279.4.2 内存申请2279.4.3 内存管理之huge内存2299.4.4 内存管理之large内存2309.4.5 内存管理之small内存2319.5 内存回收2349.6 本章小结2350章 词法和语法分析23610.1 基础知识23610.1.1 编译器23710.1.2 源程序分析23710.1.3 BNF范式24110.2 词法与语法分析器24210.2.1 Lex与YACC24210.2.2 Re2c与Bison24710.3 Token类型25210.4 PHP 7词法与语法相关数据结构25310.4.1 CG(v)宏25310.4.2 zend_stack25510.4.3 zend_ast相关结构25510.4.4 zend_arena26210.4.5 zend_parser_stack_elem26210.5 PHP 7词法与语法分析26310.5.1 整体过程26310.5.2 词法与语法分析阶段26310.6 AST的优势27310.7 源码中的其他使用27510.8 本章小结2751章 Zend虚拟机27611.1 基础知识27611.1.1 Zend虚拟机架构27611.1.2 符号表27811.1.3 函数调用栈27811.1.4 指令28011.2 相关数据结构28111.2.1 EG(v)28111.2.2 符号表28111.2.3 指令28411.2.4 指令集28811.2.5 执行数据29011.2.6 执行栈29111.3 AST编译过程29411.3.1 op_array初始化 29411.3.2 AST编译29511.3.3 设置指令handler30711.4 执行过程30811.4.1 执行栈分配30911.4.2 初始化execute_data30911.4.3 调用hanlder函数执行31111.4.4 释放execute_data31511.5 其他调度方式31511.6 本章小结3162章 基本语法实现31712.1 条件判断31712.2 循环语句32212.2.1 foreach语句32212.2.2 while语句32412.2.3 for语句32712.2.4 do while语句32912.3 中断与跳转33112.3.1 break的实现33112.3.2 goto的实现33512.4 文件引入33812.5 异常/错误处理33912.6 本章小结3433章 函数实现34413.1 基础知识 34413.2 用户定义函数的编译34513.3 用户定义函数的执行35213.4 内置函数35813.4.1 内置函数的注册35813.4.2 内置函数的执行36013.5 本章小结3604章 扩展36114.1 扩展的实现原理36214.2 PHP扩展36314.2.1 扩展的实现36314.2.2 JSON扩展36614.3 Zend扩展36714.3.1 Zend扩展的实现36714.3.2 opcache扩展36914.4 自定义扩展37814.4.1 初始化37914.4.2 编译配置38014.4.3 功能实现38114.4.4 注册配置项38314.4.5 编译、安装38514.5 本章小结386附录A php.ini配置项说明387附录B Token与opcode含义对应表413
作者介绍
陈雷滴滴顺风车运营营销研发技术负责人,曾任腾讯高级PHP研发工程师、开心网高级PHP研发工程师、百度PHP研发工程师。清华大学计算机系本科,计算机在职硕士。目前致力于滴滴顺风车智能运营平台的建设,有很强的架构能力,丰富的业务抽象经验与管理经验。 黄桃滴滴资深开发工程师,多年PHP开发经验,尤善高并发处理、大型网站架构,乐于钻研技术难点,愿意分享。 滴滴资深工程师,曾就职于腾讯、滴滴等知名互联网公司,专注于高并发Web后台开发,活跃于开源社区。 李志资深Web开发者,曾任职于腾讯,现就职于滴滴。王坤滴滴顺风车后端开发工程师,PHP爱好者,多年开发经验,喜欢学习和交流。 肖涛穿梭在PHP各大社区多年,具有丰富的高并发处理经验,现任职滴滴高级研发工程师。 朱栋滴滴后端开发工程师,曾多次参与大型高并发项目的设计与开发,有丰富的后端开发经验,喜欢研究新技术,喜欢折腾。
序言
— 没有更多了 —
以下为对购买帮助不大的评价