PHP7内核剖析

PHP7内核剖析 下载 mobi epub pdf 电子书 2024


简体网页||繁体网页
秦朋 著



点击这里下载
    


想要找书就要到 图书大百科
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

发表于2024-11-25

类似图书 点击查看全场最低价

图书介绍

出版社: 电子工业出版社
ISBN:9787121328107
版次:1
商品编码:12267210
品牌:Broadview
包装:平装
开本:16开
出版时间:2017-10-01
用纸:胶版纸
页数:492
正文语种:中文


相关图书





图书描述

产品特色

编辑推荐

适读人群 :本书适用于有一定C语言基础的PHP高级工程师,或者想了解PHP7的内部实现、扩展开发的工程师。

基于PHP7,深刻揭示内核原理

内容翔实,详细介绍PHP语言底层的实现

助力开发者进一步理解PHP,参与到PHP的实现中


内容简介

PHP作为流行的语言之一,自**个版本发布至今的二十几年里经历了多次重大改进,PHP7版本*大的特色在于其性能上的突破,比PHP5快了一倍。目前PHP7已经得到了广泛应用,越来越多的项目从PHP5迁移到了PHP7。目前,关于PHP内核的资料非常有限,本书以当前流行的PHP7版本为基础,系统性地、尽可能详细地介绍PHP语言底层的实现,旨在帮助更多的开发者进一步理解PHP,参与到PHP的实现中,为未来PHP的发展贡献一份力量!全书内容主要包括PHP数据类型的实现、PHP的编译及执行、PHP内存的管理、函数及面向对象的实现、PHP基础语法的实现,以及PHP扩展的开发。

作者简介

目前就职于滴滴引擎技术部,负责专快车分单架构相关的工作,曾作为核心成员参与了滴滴小巴业务线的成立,曾先后就职于360、搜狗,有4年多的PHP、C、Golang开发经验,熟悉PHP扩展的实现,对PHP内核有深入的理解。

精彩书评

《PHP7内核剖析》有别与市面上的其他PHP技术图书,它不是介绍PHP如何应用,而是深入讲解PHP语言的底层实现原理。它面向的是具备较多PHP项目经验的中高级的开发者。阅读本书可以帮助开发者了解PHP内核实现,对PHP有更深入更全面更清晰的理解,有助于开发者将自身技术水平提升到一个新的层次。

——韩天峰(车轮互联总架构师,Swoole创始人)


此书图文并茂,内容详实,细致。非常适合对PHP有一定了解,想深入学习PHP运行机制的同学。

——信海龙(阿里巴巴技术专家)


在PHP社区中,关于PHP内核的资料非常有限,大部分PHP开发者停留在使用的阶段,而对PHP的内部实现少有涉猎。该书弥补了这一缺憾,从变量、基础语法的实现到PHP的编译、执行以及函数、面向对象的实现,非常全面、详细的介绍了PHP7底层的原理,强烈推荐!

——柏强利(滴滴高级开发工程师)


目录

目  录


第1章 PHP基础架构
1.1 简介
1.2 安装及调试
1.3 PHP7的变化
1.4 PHP的构成
1.5 生命周期
1.6 小结
第2章 SAPI
2.1 Cli
2.1.1 执行流程
2.1.2 内置Web服务器
2.2 Fpm
2.2.1 基本实现
2.2.2 Fpm的初始化
2.2.3 worker――请求处理
2.2.4 master――进程管理
2.3 Embed
2.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 转换为NULL
3.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_array
5.2.3 zend_execute_data
5.2.4 zend_executor_globals
5.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和
opline
5.5 运行时缓存
5.6 Opcache
5.6.1 opcode优化
5.6.2 JIT
5.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 const
9.2.2 define()
9.3 全局变量
9.3.1 全局变量符号表
9.3.2 全局变量的访问
9.3.3 全局变量的销毁
9.3.4 超全局变量
9.4 分支结构
9.4.1 if
9.4.2 switch
9.5 循环结构
9.5.1 while
9.5.2 do while
9.5.3 for
9.5.4 foreach
9.6 中断及跳转
9.6.1 break/continue
9.6.2 goto
9.7 include/require
9.8 异常处理
9.8.1 PHP中的try catch
9.8.2 内核中的异常处理
9.9 break/continue LABEL语法的
实现
9.10 小结
第10章 扩展开发
10.1 扩展的内部实现
10.2 扩展的构成及编译
10.2.1 脚本工具
10.2.2 扩展的编写步骤
10.2.3 config.m4
10.3 钩子函数
10.3.1 模块初始化阶段
10.3.2 请求初始化阶段
10.3.3 请求结束阶段
10.3.4 post deactivate阶段
10.3.5 模块关闭阶段
10.4 全局资源
10.5 ini配置
10.6 函数
10.6.1 内部函数注册
10.6.2 函数参数解析
10.6.3 引用传参
10.6.4 函数返回值
10.6.5 函数调用
10.7 Zval的操作
10.7.1 zval的创建及获取
10.7.2 变量复制
10.7.3 引用计数
10.7.4 字符串操作
10.7.5 数组操作
10.8 常量
10.9 面向对象
10.9.1 内部类注册
10.9.2 成员属性
10.9.3 成员方法
10.9.4 常量
10.9.5 类的实例化
10.10 资源
10.11 小结

前言/序言

为什么要写这本书
PHP作为最流行的语言之一,自第一个版本发布至今的二十几年里经历了多次重大的改进,尤其是PHP7版本的发布,其最大的亮点在于性能上的提升,比PHP5快了一倍。随着PHP7的不断普及,越来越多的项目从PHP5迁移到了PHP7,毫无疑问,PHP7将成为PHP历史上里程碑式的一个版本。我是在大学时代接触到的PHP,初次相识就被其简洁、易用的语法所吸引了。在工作后的几年里,我一直使用PHP作为主要的开发语言。当然,除了PHP,我也使用过很多其他语言,比如C、C++、Java、Golang、Python等,不同的语言有各自的特点、优势,让我印象最深的、也让我最喜欢的有C、Golang、PHP。
C
这是我评价最高的一门语言,其强大的操控能力、简洁的语法、易于理解的处理方式无一不让我折服。编程语言本身只是控制计算机的一种工具,然而很多高级语言过度隔离了人与计算机间的联系,使得编程者并不理解计算机实际的工作机制,只能被编程语言限定在固定范围内,而C语言在这一点上做得恰到好处,其没有过度干预我们对计算机的操控,允许我们自由地控制内存、CPU。当然,C语言也有很多不方便的地方,过于简单的接口使得很多操作不得不通过编写大量的代码来实现。
Golang
并发是我对其最大的印象,我们可以用更容易理解的方式来实现并发,但是它的内存控制没有C语言那么方便、灵活。
PHP
PHP的底层是C语言实现的,这也使得它继承了很多C语言的基因,PHP的简洁、易用、学习成本低等特点成就了它今天的地位。
PHP的高度封装性与弱类型的特点使得很多操作极其简便,例如JSON的解析如果在Golang中完成,则需要定义一系列的结构体,然后才能完成解析,而在PHP中通过一行代码就可以完成。正是PHP底层的强大才得以实现如此简便的操作,那么强大的PHP背后到底是什么样子的呢?我想很多PHPer都有过这个疑问。然而让人感到沮丧的是,关于PHP内核的资料非常有限,已有的这些资料也不全面、系统,多数局限在理论介绍的层面上。后来我就直接去读PHP的源码,渐渐地发现,以前很多不理解的问题都在源码中找到了答案。本书主要的出发点是给那些想要了解PHP底层实现的读者一些启发,帮助更多的人理解PHP的实现,甚至能够参与到PHP的开发中,为未来PHP的发展贡献一份力量!
本书适合的对象
有一定C语言基础的读者。
想要理解PHP内部实现的读者。
PHP高级工程师。
对虚拟机实现感兴趣的读者。
本书不适合作为PHP的入门教程。书中对于基础性的、概念性的东西介绍很少,重点是源码解析。
本书的结构
本书总共分为10章,章节之间存在一定的衔接,建议按照先后顺序阅读。其中第3~第9章为Zend引擎相关的内容,也是本书的核心章节。
第1章介绍PHP的基础内容。本章主要介绍PHP的历史发展、PHP7的主要变化,重点讲解PHP的构成部分与生命周期的几个阶段。
第2章介绍SAPI。本章选取了PHP三种常见的应用场景,介绍三个不同SAPI的实现:Cli、Fpm、Embed。SAPI是PHP的接入层,如果只想了解Zend引擎的内容,那么可以跳过本章。
第3章介绍数据类型。本章主要介绍PHP中变量的基础结构zval,以及不同类型的结构,它们是PHP中最基础的、使用最频繁的数据结构,通过本章的内容你将了解PHP中变量的内部实现。
第4章介绍内存管理。本章主要介绍PHP变量自动回收机制的实现,以及PHP底层内存池、线程安全相关的实现。通过本章的内容,你将了解变量的内存是如何进行管理的,为什么PHP中的变量不需要手动申请释放。其中内存池的实现比较独立,它的实现与tcmalloc类似;线程安全只在多线程环境下使用,常见的Fpm、Cli模式不会用到,本书其他章节介绍的内容都是非线程安全的。
第5章介绍PHP的编译与执行。本章介绍PHP代码从编译到执行的整个过程,这也是Zend引擎的核心实现。通过对本章的学习,你将了解PHP代码是如何被Zend引擎识别、执行的。
第6章介绍函数的实现。本章介绍PHP中函数的实现,这也是Zend引擎的核心部分,本章的内容与第5章相关,介绍函数的编译与执行。
第7章介绍面向对象。本章介绍面向对象相关的实现,主要包括类、对象的内部实现。
第8章介绍命名空间。本章介绍PHP中命名空间的实现,这部分内容比较简单,命名空间只涉及编译阶段。
第9章介绍基础语法的实现。本章主要介绍PHP中基础语法的实现,比如条件分支、循环结构、中断跳转、静态变量、常量、全局变量、文件加载等,这些语法涉及PHP的编译、执行,它们是PHP语言的基础组成部分。通过对本章的学习,你可以更全面地掌握PHP语言的实现。
第10章介绍扩展开发。本章的内容偏向应用性,主要介绍扩展开发中常用的一些接口、宏。
勘误与支持
因个人水平有限,以及时间比较仓促,书中难免有不足之处,还望读者批评指正。如果你对本书有比较好的建议或对书中内容有所疑惑,可与我联系。
Email:pangudashu@gmail.com;QQ群:103330909
致谢
首先感谢PHP7的主要开发者鸟哥与PHP社区的其他开发者,正是他们的智慧造就了PHP,期待未来PHP能够有更加广阔的发展空间。在这里尤其要感谢Swoole的创始人韩天峰老师,本项目有幸得到韩老师的推荐,得到了众多人的关注。另外要单独感谢陈晓猛编辑,在他耐心地指导、审稿、修改工作下,最终才有了本书的诞生。
秦朋


PHP7内核剖析 下载 mobi epub pdf txt 电子书 格式

PHP7内核剖析 mobi 下载 pdf 下载 pub 下载 txt 电子书 下载 2024

PHP7内核剖析 下载 mobi pdf epub txt 电子书 格式 2024

PHP7内核剖析 下载 mobi epub pdf 电子书
想要找书就要到 图书大百科
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

用户评价

评分

不错不错不错不错不错不错不错不错不错不错不错不错

评分

来学习新东西了,更新下自己的知识库~

评分

很好看很好看很好看很好看很好看很好看

评分

总体可以吧,主要讲解内部实现原理的

评分

发货速度快

评分

底层内容,慢慢欣赏吧

评分

评分

非常非常不错哈,推荐推荐

评分

非常给力,快递。书也不错。

类似图书 点击查看全场最低价

PHP7内核剖析 mobi epub pdf txt 电子书 格式下载 2024


分享链接








相关图书


本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

友情链接

© 2024 book.teaonline.club All Rights Reserved. 图书大百科 版权所有