万本电子书0元读

万本电子书0元读

顶部广告

PHP核心技术与*佳实践(第2版)电子书

(1)本书第1版是PHP领域的畅销书,出版6年仍热销,累计印刷10余次,成为PHP领域公认的标杆之作 (2)两位作者在PHP领域的发经验均超过10年,一直奋斗在PHP发的一线。 (3)系统归纳和深刻解读了PHP发中的编程思想、底层原理、核心技术、发技巧。 (4)第2版在第1版的基础上做了大量的更新、删除和增强,累计近20个知识。

售       价:¥

纸质售价:¥70.90购买纸书

13人正在读 | 0人评论 6.5

作       者:列旭松,陈文

出  版  社:机械工业出版社

出版时间:2018-09-01

字       数:33.9万

所属分类: 科技 > 计算机/网络 > 程序设计

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
内容简介 PHP领域公认的标杆之作,被誉为“PHP发工程师能力阶的书”,致力于为希望成为中高级PHP程序员的读者提供全面、高效的指导。 本书第1版出版于2012年,累计印刷超过10次,6年后全新升级,一方面根据PHP技术新的发展删除和更新了一些过时的内容,另一方面对原来的部分内容作了深度优化。 全书共13章,逻辑上分为5个部分: *部分(1~2章):从不同的角度阐述了面向对象软件设计思想的核心概念、技术和原则,分析了面向对象的特性、设计模式的理念,指出了如何设计低耦合、高可扩展性的软件,等等。 第二部分(3~6章):详细讲解了PHP网络编程的原理、方法、技巧和一些重要的操作,PDO、数据库应用优化,数据库设计和MySQL的高级应用,PHP框架的实现原理。 第三部分(第7章):围绕PHP扩展发行了细致而深的探讨,解析了PHP的底层实现和Zend虚拟机API,并用PHP扩展发的实例带领读者走PHP的底层世界,旨在让读者对PHP性能优化、底层原理行深的理解。 第四部分(8~10章):重讨论了缓存的设计、Memcached的原理与实践、NoSQL数据库Redis源码分析与应用实践等内容。 第五部分(12~13章)详细讲解了PHP代码的调试和测试、Hash算法和数据库的实现。<br/>【推荐语】<br/>(1)本书第1版是PHP领域的畅销书,出版6年仍热销,累计印刷10余次,成为PHP领域公认的标杆之作 (2)两位作者在PHP领域的发经验均超过10年,一直奋斗在PHP发的一线。 (3)系统归纳和深刻解读了PHP发中的编程思想、底层原理、核心技术、发技巧。 (4)第2版在第1版的基础上做了大量的更新、删除和增强,累计近20个知识。<br/>【作者】<br/>陈文资深软件工程师和PHP技术专家,有超过15年的软件发经验。深耕于网络安全、互联网金融等领域,长期在PHP、Java、C 等技术领域的一线从事发、架构方面的工作,擅长TCP/IP编程、多线程和并发程序设计、中间件发、网络安全等。兴趣广泛,提倡“理论指导实践”,对软件设计思想有独到的见解,追求代码之美和高效率程序发,爱好钻研底层技术。 列旭松资深软件工程师和PHP技术专家,有超过10年的PHP发经验。现就职于唯品会,担任资深工程师,曾任职于YY语音。熟识PHP、C语言和Go语言,对PHP底层实现原理有较深理解。热衷于源事业,源过多个PHP相关的扩展,流行的PHP源码加密扩展(PHP-Beast)作者。此外,对Redis、Memcached等分布式缓存系统有深研究和丰富的实践经验。个人github地址:https://github.com/liexusong <br/>
目录展开

前言

第1章 面向对象思想的核心概念

1.1 面向对象的“形”与“本”

1.1.1 对象的“形”

1.1.2 对象的“本”

1.1.3 对象与数组

1.1.4 对象与类

1.2 魔术方法的应用

1.2.1 __set和__get方法

1.2.2 __call和__callStatic方法

1.2.3 __toString方法和__debugInfo方法

1.3 命名空间与自动加载

1.3.1 理解命名空间

1.3.2 自动加载

1.4 继承与多态

1.4.1 类的组合与继承

1.4.2 各种语言中的多态

1.5 面向接口编程

1.5.1 接口的作用

1.5.2 对PHP接口的思考

1.6 反射

1.6.1 如何使用反射API

1.6.2 反射有什么作用

1.7 异常和错误处理

1.7.1 如何使用异常处理机制

1.7.2 怎样看PHP的异常

1.7.3 PHP中的错误级别

1.7.4 PHP中的错误处理机制

1.7.5 PHP7对异常机制的改进

1.8 本章小结

第2章 面向对象的设计原则

2.1 面向对象设计的五大原则

2.1.1 单一职责原则

2.1.2 接口隔离原则

2.1.3 开放-封闭原则

2.1.4 替换原则

2.1.5 依赖倒置原则

2.2 一个面向对象留言本的实例

2.3 面向对象的思考

2.4 本章小结

第3章 PHP网络技术及应用

3.1 HTTP协议详解

3.1.1 HTTP协议与HTTP/2协议

3.1.2 HTTP协议如何工作

3.1.3 HTTP应用:模拟灌水机器人

3.1.4 垃圾信息防御措施

3.2 抓包工具

3.2.1 抓包工具分类

3.2.2 Fiddler功能与原理

3.2.3 安装Fiddler

3.2.4 Fiddler基本界面

3.2.5 使用Fiddler进行HTTP断点调试

3.3 Socket进程通信机制及应用

3.3.1 进程通信相关概念

3.3.2 Socket演示:实现服务器端与客户端的交互

3.3.3 使用wireshar分析TCP/IP数据包

3.3.4 Socket函数原型

3.3.5 PHP中的Socket函数

3.3.6 Socket交互应用:使用Socket抓取数据

3.4 cURL工具及应用

3.4.1 建立cURL请求的基本步骤

3.4.2 检查cURL错误和获取返回信息

3.4.3 在cURL中伪造头信息

3.4.4 在cURL中用POST方法发送数据

3.4.5 使用cURL实现简单的文件上传服务

3.4.6 cURL批处理

3.4.7 cURL设置项

3.5 简单邮件传输协议SMTP

3.5.1 SMTP协议如何工作

3.5.2 SMTP协议常用命令

3.5.3 SMTP协议应用:使用Socket发送邮件

3.6 WebService的前世今生

3.6.1 WebService简介

3.6.2 Web服务的实现模式

3.6.3 简单对象访问协议SOAP

3.6.4 调试工具soapUI

3.7 Cookie详解

3.7.1 Cookie的基本概念及设置

3.7.2 PHP和JavaScript对Cookie的操作

3.7.3 Cookie存储机制及应用

3.7.4 Cookie跨域与P3P、CORS协议

3.7.5 本地存储localStorage

3.8 Session详解

3.8.1 Session的基本概念及设置

3.8.2 Session的工作原理

3.8.3 Session入库

3.8.4 集群环境下的Session处理

3.8.5 Cookie与Session问答

3.9 本章小结

第4章 RPC与服务治理的概念

4.1 理解RPC

4.1.1 RPC的原理

4.1.2 RPC的组成元素

4.2 HPROSE的介绍

4.3 何为服务治理

4.4 服务发现与服务注册

4.4.1 Paxos协议

4.4.2 ZooKeeper的介绍与安装

4.4.3 深入了解ZooKeeper

4.4.4 ZooKeeper的应用

4.4.5 etcd的介绍

4.4.6 在PHP中使用etcd参与服务治理

4.5 高性能网络库

4.6 微服务概念简介

4.7 本章小结

第5章 PHP与数据库基础

5.1 什么是PDO

5.1.1 PDO预定义类

5.1.2 如何使用PDO

5.1.3 PDO参数绑定与预编译

5.1.4 PDO事务处理

5.1.5 PDO的效率问题

5.2 数据库应用优化

5.2.1 索引与性能分析

5.2.2 服务器和配置的优化

5.2.3 MySQL瓶颈及应对措施

5.3 数据库设计

5.3.1 范式与反范式

5.3.2 数据库分区

5.3.3 分表的应用

5.4 MySQL的高级应用

5.4.1 MySQL视图

5.4.2 MySQL存储过程和事件调度

5.4.3 用MySQL模拟消息队列

5.4.4 SQL注入漏洞与防范

5.4.5 MySQL全文搜索与Elasticsearch

5.5 数据库锁与事务

5.5.1 数据库锁

5.5.2 数据库事务

5.5.3 分布式事务

5.6 数据库中间件

5.6.1 中间件的介绍

5.6.2 数据库中间件的原理与实现

5.7 本章小结

第6章 PHP框架实现原理

6.1 MVC模式

6.2 PHP框架Lonicera 0.1

6.2.1 实现bootstrap

6.2.2 路由器层的实现

6.2.3 数据模型

6.2.4 视图层实现

6.2.5 对框架的初步改进

6.3 Lonicera 0.2框架增强

6.3.1 引入异常机制

6.3.2 拦截器和插件的原理与实现

6.3.3 Request增强与安全防御

6.4 Lonicera框架0.3版实现

6.4.1 composer的介绍与安装

6.4.2 composer的类加载机制

6.4.3 使用composer来重构框架

6.4.4 基于composer的Model增强

6.4.5 控制反转与依赖注入

6.5 本章小结

第7章 PHP扩展开发

7.1 为什么要开发PHP扩展

7.2 搭建PHP扩展框架

7.2.1 PHP源代码目录

7.2.2 ext_skel工具

7.2.3 Windows平台环境配置

7.2.4 Linux平台环境配置

7.2.5 PHP的生命周期

7.3 PHP内核中的变量

7.3.1 PHP变量在内核中的存储方式

7.3.2 PHP内核变量访问宏

7.3.3 引用计数器与写时复制

7.4 PHP内核中的HashTable分析

7.4.1 PHP内核HashTable的数据结构

7.4.2 HashTable的代码实现

7.5 Zend API详解与扩展编写

7.5.1 什么是Zend引擎

7.5.2 Zend引擎内存管理

7.5.3 PHP扩展的架构

7.5.4 接收用户传递的参数

7.5.5 在PHP扩展中创建变量

7.5.6 在PHP扩展中为变量赋值

7.5.7 错误和输出API

7.5.8 运行时信息函数

7.5.9 调用用户自定义函数

7.5.10 PHP配置项

7.5.11 创建常量的宏

7.5.12 对象创建与操作

7.6 唯一ID生成扩展实现

7.6.1 snowflake算法

7.6.2 自旋锁原理

7.6.3 扩展的实现

7.7 本章小结

第8章 缓存详解

8.1 认识缓存

8.1.1 为什么使用缓存

8.1.2 命中率

8.1.3 缓存更新策略

8.1.4 缓存最大数据量

8.2 文件缓存

8.2.1 文件缓存机制

8.2.2 文件缓存开源产品Secache

8.3 Opcode缓存

8.4 客户端缓存

8.4.1 客户端缓存规则

8.4.2 HTTP协议中的缓存使用

8.4.3 HTTP缓存实例

8.4.4 HTML 5中的Application Cache

8.5 Web服务器缓存

8.5.1 Apache缓存

8.5.2 Nginx缓存

8.6 本章小结

第9章 Memcached使用与实践

9.1 为什么要用Memcached

9.2 Memcached的安装及使用

9.2.1 安装Memcached服务器

9.2.2 安装Memcached客户端

9.2.3 使用memcache扩展访问Memcached服务器

9.2.4 使用Memcached加速Web应用

9.3 深入了解Memcached

9.3.1 Memcached如何支持高并发

9.3.2 使用Slab分配算法保存数据

9.3.3 删除过期item

9.3.4 使用LRU算法淘汰数据

9.3.5 Memcached多线程模型

9.4 Memcached分布式布置方案

9.4.1 普通Hash分布

9.4.2 一致性Hash分布

9.4.3 一致性Hash分布算法实例

9.5 本章小结

第10章 Redis使用与实践

10.1 Redis的安装及使用

10.1.1 Redis安装步骤

10.1.2 修改Redis配置文件

10.1.3 运行Redis服务器

10.1.4 key相关命令

10.1.5 Redis支持的数据类型

10.1.6 Redis排序命令详解

10.2 事务处理

10.2.1 事务处理原理

10.2.2 事务处理实现

10.3 持久化

10.3.1 内存快照

10.3.2 日志追加

10.4 主从同步

10.4.1 Redis主从同步原理

10.4.2 Slave端的工作流程

10.4.3 Master端的工作流程

10.5 Redis集群实战

10.5.1 Redis集群搭建

10.5.2 Redis集群原理

10.6 扩展库phpredis安装及使用

10.7 Redis应用实践

10.7.1 使用消息队列发布微博

10.7.2 Redis替代文件存储Session

10.8 深入了解Redis内核

10.8.1 内存淘汰

10.8.2 对象引用计数器

10.8.3 自动关闭超时连接

10.8.4 清除过期数据

10.9 本章小结

第11章 高性能网站架构方案

11.1 如何优化网站响应时间

11.1.1 吞吐率

11.1.2 压力测试

11.1.3 持久连接

11.2 MySQL响应速度提高方案:HandlerSocket

11.2.1 HandlerSocket工作原理

11.2.2 HandlerSocket安装和配置

11.2.3 PHP-HandlerSocket性能测试

11.3 MySQL稳定性提高方案:主从复制

11.3.1 主从复制工作原理

11.3.2 主从复制配置

11.3.3 连接主从服务器

11.4 Web应用加速方案:Varnish

11.4.1 传统代理与反向代理

11.4.2 Varnish安装和配置

11.4.3 Varnish性能测试

11.4.4 修改缓存规则

11.4.5 监控Varnish运行状态

11.5 异步计算方案:Gearman

11.5.1 Gearman工作原理

11.5.2 安装Gearman和PHP扩展

11.5.3 使用Gearman异步发送邮件

11.6 本章小结

第12章 代码调试和测试

12.1 调试PHP代码

12.1.1 PHP调试函数

12.1.2 断点调试与变量跟踪工具Xdebug

12.1.3 phpdbg的使用介绍

12.1.4 使用strace来跟踪定位PHP程序

12.2 前端调试

12.2.1 Firebug调试API

12.2.2 使用Firebug调试DOM结构

12.2.3 使用Firebug进行远程调试

12.3 日志管理

12.3.1 PHP日志

12.3.2 Apache/Nginx服务器日志

12.3.3 MySQL日志

12.4 代码性能测试技术

12.4.1 时间点测试

12.4.2 文件查看工具WinCacheGrind

12.4.3 性能测试注意事项

12.5 单元测试

12.5.1 单元测试框架PHPUnit的安装

12.5.2 初步使用PHPUnit进行单元测试

12.5.3 PHPUnit中的断言函数

12.5.4 PHPUnit常用模板方法

12.5.5 PHPUnit常用注解

12.6 压力测试

12.6.1 使用JMeter压力测试HTTP

12.6.2 压力测试MySQL

12.6.3 JMeter+Badboy组合测试

12.7 本章小结

第13章 Hash算法与数据库实现

13.1 Hash函数

13.2 Hash算法

13.2.1 直接取余法

13.2.2 乘积取整法

13.2.3 经典Hash算法Times33

13.3 Hash表

13.3.1 Hash表结构

13.3.2 使用PHP实现Hash表

13.3.3 Hash表冲突

13.3.4 拉链法解决冲突

13.4 一个小型数据库的实现

13.4.1 pack函数的用法

13.4.2 unpack函数的用法

13.4.3 索引文件和数据文件

13.4.4 数据库接口方法

13.4.5 源代码解析

13.4.6 测试代码

13.5 本章小结

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部